<?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:media="http://search.yahoo.com/mrss/"
    >
        <channel>
            <title><![CDATA[ Who is Nnamdi? ]]></title>
            <description>
                <![CDATA[ Thoughts on technology, venture capital, and the economics of both ]]>
            </description>
            <link>https://whoisnnamdi.com</link>
            <lastBuildDate>Wed, 18 Mar 2026 22:44:48 GMT</lastBuildDate>
            <atom:link href="https://whoisnnamdi.com/rss" rel="self" type="application/rss+xml"/>
            <item>
                        <title>
                            <![CDATA[Tokens Aren't Fungible]]>
                        </title>
                        <description>
                            <![CDATA[Open source LLMs are 90% cheaper than closed source models, yet they capture less than 30% of token share]]>
                        </description>
                        <link>https://whoisnnamdi.com/tokens-arent-fungible/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/tokens-arent-fungible/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260123104611.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Open source LLMs are <strong>90% cheaper</strong> than closed source models at the same benchmarked intelligence level. Yet they capture less than <strong>30% of token share.</strong></p>
<p>If intelligence were all that users cared about, price competition should have closed this gap by now. It hasn't.</p>
<p>Open source's share of token volume on OpenRouter, the leading LLM aggregator, has been stable at 30% for some time, despite all the shifts in the broader market. They even go so far as to call this an "equilibrium."</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260129174926.png" alt=""></p>
<p>Standard economic intuition says that, at the same quality level, the cheaper option should win. The LLM market seems to violate this. <strong>Something else must be going on.</strong></p>
<p>This puzzle has a precise analogue in economic theory – latent demand. And rather than AI researchers, it's economists and finance researchers who have the most to say about it.</p>
<h2>Priceless</h2>
<p>A group of economists from MIT, Boston University, and Microsoft recently published an empirical study of LLM market dynamics, what they call "<a href="https://nadavtadelis.com/files/EmergingMarketForIntelligence_12_12_2025.pdf">The Emerging Market for Intelligence</a>.”</p>
<p>The irony of that title: the paper's results suggest consumers of LLM APIs care about far more than mere intelligence:</p>
<blockquote>
<p>… open-source models are approximately 90% cheaper than closed-source models, conditional on the same level of intelligence… Nonetheless, the share of tokens consumed from open-source models remains  consistently below 30%, suggesting meaningful differentiation between open and closed-source models not captured by intelligence measures – <a href="https://nadavtadelis.com/files/EmergingMarketForIntelligence_12_12_2025.pdf">The Emerging Market for Intelligence: Pricing, Supply, and Demand for LLMs</a></p>
</blockquote>
<p>Intelligence only explains so much. You can see it visually here, where open source models at any given level of intelligence are consistently cheaper:
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260123104611.png" alt=""></p>
<p>Not just that, but there's incredibly wide dispersion in prices at every level of intelligence. In fact, prices vary by up to two orders of magnitude, and models that are much more expensive relative to their benchmark performance still see substantial use.</p>
<p>That dispersion of pricing has only gotten more severe over time despite prices falling overall. The price-to-intelligence ratio, which you can think of as representing a measure of quality-adjusted token pricing, has become more dispersed over time:
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260126143513.png" alt=""></p>
<p>More <a href="https://en.wikipedia.org/wiki/Price_puzzle">price puzzles</a>: the average price actually paid for tokens (as opposed to simply the average or median list price) increased over the course of 2025. This seems to have been completely missed in the discourse last year and is strong evidence that price is not a primary motivating factor for many users:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260203002101.png" alt=""></p>
<p>A reasonable hypothesis is that the observed run up in token-weighted prices for output tokens was driven by the release of the Claude 4 models in May 2025. This occurred during a period where, per the prior chart, intelligence-adjusted prices were falling through the ground. This is a powerful argument for revealed preference of users, who migrated toward premium models to pay for something benchmarks don’t fully capture.</p>
<p>The authors conduct a series of regression analyses across about 150 model-provider combinations to further dig into the drivers of pricing across models, controlling for intelligence, being open source, reasoning capabilities, context length, and other factors. Immediately we can see a few interesting phenomena:</p>
<ul>
<li><strong>Intelligence alone doesn't determine pricing:</strong> the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.048ex;" xmlns="http://www.w3.org/2000/svg" width="2.705ex" height="1.934ex" role="img" focusable="false" viewBox="0 -833.9 1195.6 854.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-I-1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path><path id="MJX-1-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D445" xlink:href="#MJX-1-TEX-I-1D445"></use></g><g data-mml-node="mn" transform="translate(792,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-1-TEX-N-32"></use></g></g></g></g></svg></mjx-container> of a simple regression of token price on benchmarked intelligence is only 10%</li>
<li><strong>Age is just a number:</strong> adding in controls for the age of a given model doesn't explain much variation in pricing, only increasing the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.048ex;" xmlns="http://www.w3.org/2000/svg" width="2.705ex" height="1.934ex" role="img" focusable="false" viewBox="0 -833.9 1195.6 854.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path><path id="MJX-2-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D445" xlink:href="#MJX-2-TEX-I-1D445"></use></g><g data-mml-node="mn" transform="translate(792,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-2-TEX-N-32"></use></g></g></g></g></svg></mjx-container> by ~4% over and above the baseline controls. Surprisingly, there's no guaranteed obsolescence here</li>
<li><strong>Brand matters, even more so than intelligence:</strong> Adding in controls for the model creator bumps up <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.048ex;" xmlns="http://www.w3.org/2000/svg" width="2.705ex" height="1.934ex" role="img" focusable="false" viewBox="0 -833.9 1195.6 854.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path><path id="MJX-3-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D445" xlink:href="#MJX-3-TEX-I-1D445"></use></g><g data-mml-node="mn" transform="translate(792,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-3-TEX-N-32"></use></g></g></g></g></svg></mjx-container> by 13%, even after including many other controls, explaining more pricing variance than intelligence alone</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260126134505.png" alt=""></p>
<p>In total, intelligence clearly matters but it's far from being the only relevant pricing factor.</p>
<h2>Volume control</h2>
<p>That's pricing, what about quantities? Here too we find a complex picture with no simple answers.</p>
<p>Again, intelligence is not destiny – LLM customers are making decisions based on many factors. If you weight intelligence over time by the actual token usage of those models on OpenRouter, what you see is that typical usage concentrates far from the frontier of intelligence. The median user isn't using anything close to the smartest model, and even the 90% percentile token is coming from a model that is well below the best available:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260126144723.png" alt=""></p>
<p>Some more regressions, this time with token volume as the dependent variable.</p>
<ul>
<li><strong>Pricing matters but only so much:</strong> Prices have a statistically significant relationship with token demand, but within a given model, prices explain only 18% of the variance in token volumes. The remaining 82% is driven by other factors</li>
<li><strong>Price competition is zero-sum:</strong> The price elasticity of demand is almost exactly one, meaning a 10% price cut generates roughly 10% more volume, leaving revenue (price times quantity) unchanged. To grow revenue, providers must <a href="https://whoisnnamdi.com/red-ocean/">shift the demand curve</a> itself through alternative means</li>
<li><strong><a href="https://www.binance.com/en/academy/glossary/hodl">HODL</a> the model:</strong> Within a given model/provider combination (rightmost column), price is again statistically significant but explains almost nothing (within <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.048ex;" xmlns="http://www.w3.org/2000/svg" width="2.705ex" height="1.934ex" role="img" focusable="false" viewBox="0 -833.9 1195.6 854.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D445" d="M230 637Q203 637 198 638T193 649Q193 676 204 682Q206 683 378 683Q550 682 564 680Q620 672 658 652T712 606T733 563T739 529Q739 484 710 445T643 385T576 351T538 338L545 333Q612 295 612 223Q612 212 607 162T602 80V71Q602 53 603 43T614 25T640 16Q668 16 686 38T712 85Q717 99 720 102T735 105Q755 105 755 93Q755 75 731 36Q693 -21 641 -21H632Q571 -21 531 4T487 82Q487 109 502 166T517 239Q517 290 474 313Q459 320 449 321T378 323H309L277 193Q244 61 244 59Q244 55 245 54T252 50T269 48T302 46H333Q339 38 339 37T336 19Q332 6 326 0H311Q275 2 180 2Q146 2 117 2T71 2T50 1Q33 1 33 10Q33 12 36 24Q41 43 46 45Q50 46 61 46H67Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628Q287 635 230 637ZM630 554Q630 586 609 608T523 636Q521 636 500 636T462 637H440Q393 637 386 627Q385 624 352 494T319 361Q319 360 388 360Q466 361 492 367Q556 377 592 426Q608 449 619 486T630 554Z"></path><path id="MJX-4-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D445" xlink:href="#MJX-4-TEX-I-1D445"></use></g><g data-mml-node="mn" transform="translate(792,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-4-TEX-N-32"></use></g></g></g></g></svg></mjx-container> of 5%). Most of the action is in the discrete choice of which provider to use in the first place, which is driven largely by factors other than price</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260130184111.png" alt=""></p>
<p>We saw a drastic example of this phenomenon during the release of Grok Code Fast 1, xAI’s extremely fast and cheap coding model, with heavily subsidized pricing (even as low as free). Grok Code Fast 1’s release had <strong>zero impact</strong> on the demand for other models, suggesting more nuanced user preferences not easily swayed by cost:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260203001604.png" alt=""></p>
<p>The pattern on the quantity side mirrors what we saw with pricing. Intelligence alone explains little price variation; price alone explains little quantity variation. In both cases, the observable characteristics we fixate on (benchmark scores, token prices) leave most of the picture unexplained.</p>
<p>Users don’t always pick the smartest model, and they aren't purely chasing the lowest price. Something else is guiding their choices.</p>
<h2>Latent <del>space</del> demand</h2>
<p>The asset pricing literature has developed precise tools for exactly this kind of problem. In “<a href="https://oar.princeton.edu/bitstream/88435/pr1mb4c/1/jpe.pdf">A Demand System Approach to Asset Pricing</a>” Koijen and Yogo construct and estimate a “demand system” for public equities. They decompose demand for a given stock into two components, demand driven by observable characteristics (price, profitability, book equity, dividends, etc.) and demand driven by what they call latent demand -- investor preferences for attributes we cannot observe.</p>
<blockquote>
<p>We refer to <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.65ex;" xmlns="http://www.w3.org/2000/svg" width="5.934ex" height="2.347ex" role="img" focusable="false" viewBox="0 -750 2622.8 1037.2" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-I-1D700" d="M190 -22Q124 -22 76 11T27 107Q27 174 97 232L107 239L99 248Q76 273 76 304Q76 364 144 408T290 452H302Q360 452 405 421Q428 405 428 392Q428 381 417 369T391 356Q382 356 371 365T338 383T283 392Q217 392 167 368T116 308Q116 289 133 272Q142 263 145 262T157 264Q188 278 238 278H243Q308 278 308 247Q308 206 223 206Q177 206 142 219L132 212Q68 169 68 112Q68 39 201 39Q253 39 286 49T328 72T345 94T362 105Q376 103 376 88Q376 79 365 62T334 26T275 -8T190 -22Z"></path><path id="MJX-5-TEX-I-1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path id="MJX-5-TEX-N-2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path><path id="MJX-5-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-5-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-5-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-5-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D700" xlink:href="#MJX-5-TEX-I-1D700"></use></g><g data-mml-node="TeXAtom" transform="translate(499,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D456" xlink:href="#MJX-5-TEX-I-1D456"></use></g><g data-mml-node="mo" transform="translate(345,0)"><use data-c="2C" xlink:href="#MJX-5-TEX-N-2C"></use></g><g data-mml-node="mi" transform="translate(623,0)"><use data-c="1D461" xlink:href="#MJX-5-TEX-I-1D461"></use></g></g></g><g data-mml-node="mo" transform="translate(1244.8,0)"><use data-c="28" xlink:href="#MJX-5-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(1633.8,0)"><use data-c="1D45B" xlink:href="#MJX-5-TEX-I-1D45B"></use></g><g data-mml-node="mo" transform="translate(2233.8,0)"><use data-c="29" xlink:href="#MJX-5-TEX-N-29"></use></g></g></g></svg></mjx-container> as latent demand, which captures investor <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="0.781ex" height="1.52ex" role="img" focusable="false" viewBox="0 -661 345 672" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-6-TEX-I-1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D456" xlink:href="#MJX-6-TEX-I-1D456"></use></g></g></g></svg></mjx-container>'s demand for unobserved (by the econometrician) characteristics of asset <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.357ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 600 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-7-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-7-TEX-I-1D45B"></use></g></g></g></svg></mjx-container> – <a href="https://oar.princeton.edu/bitstream/88435/pr1mb4c/1/jpe.pdf">A Demand System Approach to Asset Pricing</a></p>
</blockquote>
<p>When they apply this framework to the data on U.S. stock returns, they find something striking -- observable characteristics on both the supply and demand side only explain ~20% of the cross-sectional variance of returns. The remaining 80% is <a href="https://whoisnnamdi.com/dark-matter/">dark matter</a> -- driven by unobservable, latent demand among investors:
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260129100607.png" alt=""></p>
<blockquote>
<p>Thus, stock returns are mostly explained by demand shocks that are unrelated to changes in observed characteristics. This finding is consistent with the fact that cross-sectional regressions of stock returns on characteristics have low explanatory power</p>
</blockquote>
<p>Koijen and Yogo are careful to point out that they cannot directly identify what latent demand contains (by definition); they can only quantify how much it matters. Some of their hypothesized drivers: structural constraints (certain investors cannot invest in certain companies), heterogenous beliefs (a fancy way of saying that investors “agree to disagree”), and herding behavior (e.g. meme stocks).</p>
<p>So in the most liquid, most efficient, most studied market in the world, unmeasured factors dominate measured ones by 4:1. How much of AI demand could we realistically hope to explain?</p>
<p><strong>Not much.</strong> A non-exhaustive list of factors that could drive one’s choice of LLM:</p>
<ul>
<li>Reliability and uptime guarantees (you know who you are)</li>
<li>Safety policy and content moderation posture (you also know who you are)</li>
<li>Tooling and ecosystem integration</li>
<li>Support quality and SLAs</li>
<li>Privacy and data retention policies</li>
<li>Brand and reputational risk</li>
</ul>
<p>These are dimensions that <a href="https://whoisnnamdi.com/ai-benchmarking-broken/">benchmarks</a> like MMLU and SWE-Bench don’t capture. The ~10x price premium for equally intelligent closed source models hints that these unobserved factors really do matter. It's the LLM equivalent of Koijen and Yogo's finding: latent demand is the rule rather than the exception.</p>
<p>The AI economists acknowledge this:</p>
<blockquote>
<p>There are two potential explanations for this gap. First, the Intelligence Index may not fully capture important differences in model capabilities. Second, users may systematically discount the value of open-source models—either because of actual or perceived differences such as weaker brand reputation, privacy concerns, or less extensive customer support – <a href="https://nadavtadelis.com/files/EmergingMarketForIntelligence_12_12_2025.pdf">The Emerging Market for Intelligence: Pricing, Supply, and Demand for LLMs</a></p>
</blockquote>
<p>Both explanations point to the same conclusion: <strong>latent demand is <em>most</em> of the demand.</strong></p>
<p>In fact, the price regressions we looked at earlier show exactly that: intelligence only explains 10% of price variation across LLM providers. Adding in other characteristics like whether the model is open source, reasoning capabilities, context length, and age only gets you to ~45%.</p>
<p>Only by controlling for the model creator (e.g. Anthropic, OpenAI, DeepSeek, etc) are we able to explain more than half of LLM pricing variation. Further, controlling for whether the model is open source muddies the water a bit, since most model labs are either fully open or fully closed source, meaning some of what open source is “explaining” is actually a brand effect.</p>
<p>In total, this data suggests that the identity of the model creator is the biggest single explanatory factor in LLM pricing.</p>
<h2>If it fits, it sticks</h2>
<p>One way to explore this brand effect is to observe the degree to which users stubbornly “stick” to a particular model, i.e. the degree to which they maintain strong preferences irrespective of price or evolving alternative options.</p>
<p>Here again we can analogize to the stock market. In the decomposition of stock returns from before, the researchers broke latent demand into two parts: the “<a href="https://www.thoughtco.com/extensive-margin-definition-4097749">extensive margin</a>” (certain investors only buying certain stocks) and the “intensive margin” (how much of each stock investors hold, assuming they hold the stock at all).</p>
<p>Applying this framework to the OpenRouter data, we see substantial evidence for both the extensive and intensive margins playing a role. For example, users concentrating all of their usage on a single model aligns with the extensive margin, while users using many models but varying in how they distribute their use cases between them points to the intensive margin.</p>
<p>The data? Just over 50% of OpenRouter users use only one model. Among those that use multiple models, a very large share of users allocate almost all their usage to only one of those models:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/tokens-arent-fungible/optimized/Pasted-image-20260129175551.png" alt=""></p>
<p>To quote the study:</p>
<blockquote>
<p>Our interpretation  of these patterns is that, for most firms, multi-homing reflects experimentation rather than  intensive dual use of models tailored to specific tasks – <a href="https://nadavtadelis.com/files/EmergingMarketForIntelligence_12_12_2025.pdf">The Emerging Market for Intelligence: Pricing, Supply, and Demand for LLMs</a></p>
</blockquote>
<p>That is to say, to the extent users leverage multiple models, it’s mostly for experimental purposes rather than production use. When it’s time to get serious, most users make a singular choice and <a href="https://whoisnnamdi.com/product-market-fit-is-lindy/">stick with it</a>. The extensive margin dominates.</p>
<p>OpenRouter themselves recently published <a href="https://arxiv.org/abs/2601.10088">their own analysis</a> which came to a similar conclusion, which they call the “Glass Slipper effect” in a nod to Cinderella:</p>
<blockquote>
<p>The hypothesis posits that in a rapidly evolving AI ecosystem, there exists a latent distribution of high-value workloads that remain unsolved across successive model generations. Each new frontier model is effectively “tried on” against these open problems. When a newly released model happens to match a previously unmet technical and economic constraint, it achieves the precise fit — the metaphorical “glass slipper.”</p>
<p>For the developers or organizations whose workloads finally “fit,” this alignment creates strong lock-in effects. Their systems, data pipelines, and user experiences become anchored to the model that solved their problem first – <a href="https://arxiv.org/abs/2601.10088">State of AI: An Empirical 100 Trillion Token Study with OpenRouter</a></p>
</blockquote>
<p>In the LLM market, it’s a competition to be someone’s #1 pick, and there’s no prize for 2nd place.</p>
<h2>Genius is not homogenous</h2>
<p>The LLM market presents a puzzle: massive price dispersion at equivalent measured intelligence, persistent market share gaps between closed and open source models despite premium pricing, concentrated usage patterns at the user level despite a panoply of options.</p>
<p>Old school asset pricing models failed because they assumed homogenous investor preferences. In the famous CAPM model, everyone holds (or at least should hold) the market portfolio. In reality, investors have wildly divergent preferences that show up as latent demand.</p>
<p>Similarly, the obsession with model benchmarks assumes homogenous user preference for intelligence over all else. But in fact users have varying preferences that benchmarks don’t and can’t reflect.</p>
<p>So what are the implications? Here’s a crack at a few:</p>
<ul>
<li><strong>Models aren't commodities (yet):</strong> It seems many users are willing to pay a premium for quality, capabilities, or stability. Differentiation is possible, and the inordinate influence of latent demand reflects that</li>
<li><strong>Moats aren't about weights:</strong> Defensibility may be less about locking down model weights and more about trust, <a href="https://lsvp.com/stories/ai-safety-vs-ai-scalability-is-a-false-dichotomy/">safety posture</a>, and other intangibles</li>
<li><strong>Benchmarks measure what's measurable:</strong> We’re measuring what’s easy to measure, not always what matters. Most of what drives relative LLM adoption lives in dimensions that are hard to quantify. Benchmark-maxxing isn’t everything.</li>
</ul>
<p>The benchmark obsession is understandable. Numbers are legible. Rankings are simple.</p>
<p>But the market is telling us something different: <strong>tokens aren’t fungible.</strong> Despite convergence in capabilities across models, in the eyes of the market, “<a href="https://en.wikipedia.org/wiki/Animal_Farm">all models are equal, but some models are more equal than others.</a>”</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Seed Valuations Aren’t Valuations]]>
                        </title>
                        <description>
                            <![CDATA[It’s not obvious what drives them]]>
                        </description>
                        <link>https://whoisnnamdi.com/seed-valuations/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/seed-valuations/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 02 Oct 2024 17:51:14 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512305055-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Seed valuations don't behave like valuations:</p>
<ul>
<li>They are too stable over time for such a speculative asset</li>
<li>They are impervious to shifting interest rates</li>
<li>They don’t follow public tech valuations</li>
</ul>
<p>In short, seed valuations are a bit of an enigma — it’s not at all obvious what drives them. However investors arrive at these numbers, they aren’t doing so based on typical Finance 101 factors like discount rates or comparable company analysis.</p>
<p>Seed companies don’t seem to be priced as businesses with intrinsic value derived from future cash flows. Rather than <em>venture capital</em>, they seem to be a proxy for the <strong>human capital</strong> of the founders and early team.</p>
<p>Seed valuations aren’t valuations.</p>
<h2>Non-standard deviations</h2>
<p><strong>First: seed valuations aren’t volatile enough.</strong></p>
<p>This really stood out when constructing my <a href="https://whoisnnamdi.com/venture-activity-index/">Venture Activity Index</a> – the volatility of the late stage is much higher than the early stage, which is true even if you exclude the pandemic era:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516295993-vol.png" alt="vol"></p>
<p>This is strange. If seed stage investments are as speculative as they’re purported to be, we'd expect wild valuation fluctuations over time. Late-stage valuations should be more stable, since they have an existing business model, revenues, and potentially even cash flows (hard to believe, I know).</p>
<p>Imagine if large, blue chip stocks were more volatile than small caps. That wouldn't make much sense. The stability of seed valuations relative to more mature startups makes no sense either.</p>
<p>As I’ve previously covered, <a href="https://whoisnnamdi.com/shadow-price/">capital flows affect valuations</a>, and this force is most extreme at the later stages where the so-called "crossover funds" (funds who've crossed over from public market to private market investing) are most active. Thus, capital flows drive excess volatility at the later stages. However, I don't think that can explain everything going on here.</p>
<p>And yes, there are many more seed deals getting done each quarter than later-stage rounds, so due to some <a href="https://en.wikipedia.org/wiki/Central_limit_theorem">fundamental laws of statistics</a> we’d expect less variability with a larger sample. Even so, seed valuations seem too stable on a relative basis.</p>
<h2>Discount rates don’t matter if there’s nothing to discount</h2>
<p><strong>Second: interest rates don’t affect seed valuations.</strong></p>
<p>In the standard corporate finance logic, early stage companies should be the most sensitive to interest rates because they have the highest <em>duration</em>. Think of duration as a measure of distance, measured in years, to the average dollar of cash flow for a business. For early stage companies, all cash flow the business will ever produce is far into the future, so they definitionally have high duration. In a discounted cash flow model, seed valuations would be extremely sensitive to movements in the discount rate, similar to a long-dated bond:</p>
<blockquote>
<p>Duration measures the sensitivity of the value of a bond to a change in interest rates, which is tied to the lifetime of the bond. Bonds with longer tenure or back-loaded cash flows are more sensitive to changes in interest rates</p>
<p>Due to the <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">multiplicative nature</a> of discounting, the present value of far-away payments is more sensitive to a change in interest rates than the value of soon-to-come payments – <a href="https://whoisnnamdi.com/high-retention-high-volatility/">High Retention = High Volatility</a></p>
</blockquote>
<p><strong>That's not what we see.</strong> <a href="https://whoisnnamdi.com/discount-rates/">Some time ago</a> I investigated the “average” impact of interest rate surprises on venture valuations across all stages. I've since revisited and refined that analysis, adding more granularity to the estimates. I've also stripped out the COVID era, where the impact of fund flows contaminates the estimates.</p>
<p>What I found was fascinating. Here's the impact of a surprise 1% increase in the one-year Treasury yield across seed, Series A / B, and Series C / D, along with a measure of uncertainty around these estimates, going twelve quarters out:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516293593-sv-1.png" alt="sv-1"></p>
<ul>
<li><strong>Interest rates have no effect on seed valuations.</strong> Not only is the impact zero, it’s <em>precisely zero</em>. There isn't a ton of uncertainty around these estimates.</li>
<li>For Series A / B, we start to see some effect, maxing out at a 16% decline seven quarters after impact before recovering.</li>
<li>For proper growth stage rounds like Series C / D, the impact is even quicker and more severe, peaking at 19% six quarters out.</li>
</ul>
<p>This is the most striking evidence — the clearest indication that investors value seed stage startups in a totally distinct way to the rest of the venture market. It’s hard to rationalize this evidence within the usual frameworks.</p>
<h2>They not like us</h2>
<p><strong>Third: public tech valuations don’t influence seed valuations.</strong></p>
<p>When the big tech (“FANG”, the “Magnificent 7, etc) valuations move around, private valuations typically follow, with a lag. This makes intuitive sense given venture investors use comparable public company valuations to decide how much they’re willing to pay for private companies. In a rational market we’d expect some correlation between public and private valuations, even if imperfect. This is “comps analysis” in a nutshell.</p>
<p>And that’s what we see — <em>except</em> for seed companies:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516284943-nv-1.png" alt="nv-1"></p>
<p>When the Nasdaq rises 1%:</p>
<ul>
<li>Series A through D valuations rise, matching the bump in the Nasdaq within about a year.</li>
<li>Seed valuations don’t move at all, marching to the beat of their own, relatively quiet drummer</li>
</ul>
<p>While there’s a very clear pass-through effect of public prices on private valuations for most stages, seed startups are the exception, seeing no pass-through at all. It turns out, <strong>investors don’t care about public comps when pricing seed stage companies.</strong></p>
<p>It’s clear that seed valuations are not really valuations in the traditional sense. They don't behave like valuations in either their volatility over time or their sensitivity to interest rates. Something else must be going on here.</p>
<h2>These prices are sticky too</h2>
<p>It struck me that seed valuations were incredibly <em>sticky</em> (an early working title for this essay was "Why are Seed Valuations so Sticky?”). Seed valuations neither rise nor fall dramatically far from trend, whereas other stages see much strong gyrations:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516289461-sticky.png" alt="sticky"></p>
<p>This "stickiness" is unique to seed valuations and doesn't mirror the behavior of free-floating financial assets, which are typically much more volatile and difficult to forecast.</p>
<p>I stared at the seed valuation data for a long time as I contemplated this essay. As my eyes glazed over, I tried to come up with analogues, other phenomena that mimic the behavior of seed valuations.</p>
<p>Then it hit me – wages. <a href="https://www.richmondfed.org/~/media/richmondfedorg/publications/research/econ_focus/2013/q1/pdf/jargon_alert.pdf">Wages are often said to be “sticky”</a>, and seed stage valuations look eerily similar to wages over time, which also tend to be quite stable around a long-term, upward trend.</p>
<p>The simplest thing to do is plot compensation against seed stage valuations. I found a wage series called the “Employment Cost Index” (ECI) that measures compensation growth over time, and I pulled out a <a href="https://fred.stlouisfed.org/series/CIU2015400000000I">version</a> of this that’s specific to “professional, scientific, and technical services,” which I take to be a good proxy for tech workers:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516279505-cbs-1.png" alt="cbs-1"></p>
<ul>
<li>The first thing that stands out is the obvious difference in growth rates. Seed stage valuations have risen much faster than wages for the typical tech worker. <strong>For every 1% increase in tech worker wages, seed stage valuations grow 4-5%.</strong></li>
<li>We can predict seed stage valuations from the wage data. I regress seed valuations on the ECI using pre-2020 data. The fit is tight pre-2020 (which is frankly easy since they’re both roughly straight lines).</li>
<li>Then I evaluate its forecasts on post-2020 data, “out of sample”. The model returns to a reasonably close fit once valuations settle down after the 2021-2022 bonanza.</li>
<li>Notably, <strong>seed valuations bottomed out at exactly the level you would have predicted using the employment cost index.</strong></li>
</ul>
<p>This feels like more than coincidence. Regressions do have a high risk of being spurious, which is to say, total nonsense. I was skeptical the first time I ran these numbers. But after multiple sanity checks, this seems to be the real deal. There is a tight connection between seed valuations and wages for tech workers; the two follow the same trend, one an accelerated version of the other. Thus we have a <a href="https://arxiv.org/abs/2001.08361">scaling law</a> between tech wages and seed valuations:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.466ex;" xmlns="http://www.w3.org/2000/svg" width="34.057ex" height="2.502ex" role="img" focusable="false" viewBox="0 -899.8 15053.2 1105.8" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-A0" d=""></path><path id="MJX-1-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-221D" d="M56 124T56 216T107 375T238 442Q260 442 280 438T319 425T352 407T382 385T406 361T427 336T442 315T455 297T462 285L469 297Q555 442 679 442Q687 442 722 437V398H718Q710 400 694 400Q657 400 623 383T567 343T527 294T503 253T495 235Q495 231 520 192T554 143Q625 44 696 44Q717 44 719 46H722V-5Q695 -11 678 -11Q552 -11 457 141Q455 145 454 146L447 134Q362 -11 235 -11Q157 -11 107 56ZM93 213Q93 143 126 87T220 31Q258 31 292 48T349 88T389 137T413 178T421 196Q421 200 396 239T362 288Q322 345 288 366T213 387Q163 387 128 337T93 213Z"></path><path id="MJX-1-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-57" d="M792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792Z"></path><path id="MJX-1-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-1-TEX-N-34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path><path id="MJX-1-TEX-N-2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-1-TEX-N-35" d="M164 157Q164 133 148 117T109 101H102Q148 22 224 22Q294 22 326 82Q345 115 345 210Q345 313 318 349Q292 382 260 382H254Q176 382 136 314Q132 307 129 306T114 304Q97 304 95 310Q93 314 93 485V614Q93 664 98 664Q100 666 102 666Q103 666 123 658T178 642T253 634Q324 634 389 662Q397 666 402 666Q410 666 410 648V635Q328 538 205 538Q174 538 149 544L139 546V374Q158 388 169 396T205 412T256 420Q337 420 393 355T449 201Q449 109 385 44T229 -22Q148 -22 99 32T50 154Q50 178 61 192T84 210T107 214Q132 214 148 197T164 157Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="A0" xlink:href="#MJX-1-TEX-N-A0"></use><use data-c="53" xlink:href="#MJX-1-TEX-N-53" transform="translate(250,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(806,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1250,0)"></use><use data-c="64" xlink:href="#MJX-1-TEX-N-64" transform="translate(1694,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2250,0)"></use><use data-c="56" xlink:href="#MJX-1-TEX-N-56" transform="translate(2500,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(3250,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(3750,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(4028,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(4584,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(5084,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(5473,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(5751,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(6251,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(6807,0)"></use></g><g data-mml-node="mo" transform="translate(7478.8,0)"><use data-c="221D" xlink:href="#MJX-1-TEX-N-221D"></use></g><g data-mml-node="msup" transform="translate(8534.6,0)"><g data-mml-node="mtext"><use data-c="A0" xlink:href="#MJX-1-TEX-N-A0"></use><use data-c="54" xlink:href="#MJX-1-TEX-N-54" transform="translate(250,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(972,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(1416,0)"></use><use data-c="68" xlink:href="#MJX-1-TEX-N-68" transform="translate(1860,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2416,0)"></use><use data-c="57" xlink:href="#MJX-1-TEX-N-57" transform="translate(2666,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(3694,0)"></use><use data-c="67" xlink:href="#MJX-1-TEX-N-67" transform="translate(4194,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(4694,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(5138,0)"></use></g><g data-mml-node="TeXAtom" transform="translate(5565,421.1) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="34" xlink:href="#MJX-1-TEX-N-34"></use><use data-c="2E" xlink:href="#MJX-1-TEX-N-2E" transform="translate(500,0)"></use><use data-c="35" xlink:href="#MJX-1-TEX-N-35" transform="translate(778,0)"></use></g></g></g></g></g></svg></mjx-container>
<p>The inverse of <a href="https://corporatefinanceinstitute.com/resources/accounting/share-stock-based-compensation/">stock-based compensation</a>, seed companies appear to be <strong>compensation-based stocks</strong>, at least in how they’re valued.</p>
<h2>Google is my <a href="https://www.pon.harvard.edu/daily/batna/translate-your-batna-to-the-current-deal/">BATNA</a></h2>
<p>This analysis doesn't <em>prove</em> anything, but it does suggest an interesting link between tech wages and seed valuations.</p>
<p>Why would seed valuations be linked to the cost of tech labor? And why would those valuations grow so much faster than wages? I’m not even 100% convinced that it’s a direct, causal connection — perhaps there’s some third variable that drives both. Totally plausible. I plan to explore this in a future piece.</p>
<p>Regardless, it’s quite clear to me after crunching the numbers that seed valuations don’t behave anything like valuations, at least not valuations of <em>companies</em> or speculative assets. Their stability suggests investors have a precise sense of their worth, despite their riskiness. The value investors place on these companies does not fluctuate wildly over time.</p>
<p>This is odd only if your mental model values these fledging enterprises as… enterprises. What if seed stage valuations instead represent the value of the labor and human capital of founders and early employees? The behavior of seed valuations would make a lot more sense if we saw them as proxies for the opportunity cost of talented tech workers.</p>
<p>I’ll explore this hypothesis in a future essay.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[AI Benchmarking Is Broken]]>
                        </title>
                        <description>
                            <![CDATA[We should take AI models seriously, which means taking their evaluation seriously]]>
                        </description>
                        <link>https://whoisnnamdi.com/ai-benchmarking-broken/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/ai-benchmarking-broken/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 28 May 2024 13:29:17 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512303112-header-ai-benchmarking-broken.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><em>To celebrate <a href="https://www.patronus.ai/blog/announcing-our-17-million-series-a">Patronus AI’s $17M Series A</a>, I wanted to share some thoughts on the current state of AI benchmarking.</em></p>
<p>Imagine a standardized test that works like this:</p>
<ul>
<li>The questions and answers are freely available on the public internet</li>
<li>Cheating is not regulated, it’s a 100% honor system</li>
<li>The exam never changes, it’s the same questions every time</li>
<li>Scores on the exam seem to be getting better every year</li>
</ul>
<p>In case you’re wondering, the correct reaction is “this is not a very good exam.” Cheating is rampant. The answers can all be memorized. The test isn’t really much of a “test.” The scores are meaningless.</p>
<p>This is the current state of AI benchmarking. Ironically, we hold AI benchmarks to a very <em>low</em> standard. We allow practices that would never fly in other serious domains. It’s happening in plain sight, with a nod and a wink every time an AI lab releases a new model that tops the leaderboards.</p>
<p>We must do better.</p>
<h2>Something’s in the water</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516274212-training-data-contamination.jpeg" alt="training-data-contamination"></p>
<p>The first dirty secret of AI benchmarks is quite literally, dirty: <strong>training data contamination</strong>.</p>
<p>A common refrain among machine learning researchers and engineers — “don’t train on the test set.” In other words, don’t train a model on the same dataset that you will evaluate it on. If you do, whether on purpose or not, that particular test is useless for evaluating model performance.</p>
<p>Most open benchmarks are available on the public internet. In other words, the entire set of questions and answers exists on the open web, likely in multiple places. It is extremely easy for this data to inadvertently make its way into LLM training pipelines. The big AI labs are constantly hoovering up data from the internet via web crawlers, scraping their way across the web. While diligent researchers are careful about what ends up in the training data, applying all sorts of sophisticated filters to the raw data before feeding it to their models, invariably these filters are imperfect, and data from the benchmarks leaks in. It can happen during pre-training, it can happen during fine-tuning, either way, the bad data gets in. This renders invalid the downstream model performance on the benchmark.</p>
<p>The test data from a particular benchmark can appear in many places. It could be in plaintext on a webpage somewhere. It could be a file in a GitHub repo, alongside code which a model is being trained with. It could be in the <em>comments</em> of a file or script inside of a repo. It could be on Reddit or X. It could really be anywhere.</p>
<blockquote>
<p>An increasingly important issue with evals is test set contamination. After the creation of a good eval, examples of the eval tend to get propagated into various places in the internet, like arxiv papers, ChatGPT examples, or reddit — <a href="https://www.jasonwei.net/blog/evals">Jason Wei, OpenAI</a></p>
</blockquote>
<p>It’s been shown that a single training example can meaningfully impact the behavior of a model, so it only takes one mishap to contaminate a model. Model builders routinely train on trillions of tokens, so there’s no shortage of ways for accidents to occur.</p>
<p>You might wonder, if the entire benchmark makes its way into the training data, then why don’t the models score perfectly on the benchmarks? Remember, these models are complicated mathematical functions of the data — they are optimizing for all sorts of criteria that we don’t fully understand (<a href="https://www.anthropic.com/research/mapping-mind-language-model">though we’re making progress</a>) and have been trained on vast sums of data, so any particular benchmark represents a very small share of the overall training corpus. A model trained on a particular dataset will fail to reproduce that data at times. This complex and non-deterministic mapping of inputs to outputs is arguably the distinguishing feature of LLMs relative to traditional machine learning models. So we shouldn’t necessarily expect to see perfect benchmark performance even in the most blatantly contaminated scenarios.</p>
<h2>It’s not what you think</h2>
<p>The next time you hear about how a new model crushes some well-established benchmark, take a moment to actually go to the primary source and review the tasks in the benchmark. Pick any of them, it doesn’t really matter which. I would bet that, even as a non-specialist, you will very quickly begin to question whether the benchmark is really testing what it claims to test.</p>
<p>Sometimes this is subtle; sometimes it’s not. Many AI coding benchmarks have fairly trivial solutions that don’t require meaningful code understanding or “intelligence.” Many “reasoning” benchmarks don’t require any reasoning.</p>
<p>Again, don’t take my word for it — I encourage you to, right now, read through a few examples from the many published benchmarks, and see what you think about the concepts they are purportedly testing. <strong>You will be less than impressed</strong>, and you will leave the exercise with a much reduced opinion of and trust in the performance of the latest and greatest models.</p>
<p>This also relates to my point earlier about contamination, which is especially pernicious in the software development domain. Many “brain twister” coding tasks are well-represented in the training data for these models, in part because software developers spend so much time preparing for such questions as part of job interviews. Coding competitions abound, which can serve as a signal to employers of an engineer’s talent and skills. Their competition code often ends up on the public internet, where it gets picked up by training data crawlers.</p>
<p>At test time, the model has already seen the question, perhaps in slightly modified form, and has memorized the answer. It’s not right to say a model regurgitating some code from some repo is “reasoning” about software development. It’s much more akin to an engineer getting stuck and looking up some code on Stack Overflow, pasting it into their editor, and moving on.</p>
<p>There’s nothing wrong with a “Stack Overflow bot”! I would and do pay for such things. I just think we need to be very careful and specific about what we call it.</p>
<h2>Teaching to the test</h2>
<p>Critics of standardized tests often complain they encourage teachers to “teach to the test”, focusing exclusively on material that will improve their students’ performance on the test but that perhaps misses other information valuable to their overall edification as human beings and citizens. I think this critique has bite to it in the context of AI models.</p>
<p>Here’s why. <a href="https://www.kaggle.com/">Kaggle</a> is the most famous competition platform for machine learning practitioners. They hold frequent competitions where the goal is to build a machine learning model that can generate accurate predictions in a particular context based on provided (or otherwise procured) inputs. A key feature of Kaggle competitions is the <a href="https://www.kaggle.com/docs/competitions#leaderboard">public leaderboard</a> — the real-time ranking of submitted models on a “validation” dataset that only Kaggle has access to. Thus, they avoid the problem of data <a href="https://www.kaggle.com/docs/competitions#leakage">leaking</a> into the training set.</p>
<p>However, as is well-known among Kagglers, this “one weird trick” doesn’t solve all problems. After some time, the competition closes, at which point every model is re-evaluated on a previously closed “test set”, the scores for which make up the “private leaderboard”. It is extremely common for the “best” model from the public leaderboard to fall a few places in the rankings on the private leaderboard and for another model to rise to the top. In fact, this happens so often that being in 1st place going into the final evaluation can often be a source of stress rather than relief, since you know there’s some risk you’ve “<a href="https://www.kaggle.com/docs/competitions#leaderboard">overfit to the public leaderboard.</a>”</p>
<blockquote>
<p>Many users watch the public leaderboard closely, as breakthroughs in the competition are announced by score gains in the leaderboard. These jumps in turn motivate other teams working on the competition in search of those advancements. But it’s important to keep the public leaderboard in perspective. It’s very easy to overfit a model, creating something that performs very well on the public leaderboard, but very badly on the private one. This is called overfitting.</p>
</blockquote>
<p>Even though your model never saw the validation data directly, you did see its <em>score</em> on the data. That score is a noisy proxy for the data itself, so anything you do to improve the score implicitly leverages features of validation data, even if you never saw data directly. Since that score influenced the techniques and tricks you employed during model training, there’s a sense in which the validation data did “leak” into training.</p>
<p>You’ve effectively “taught to the <em>practice</em> test”. And as anyone who’s experimented with the materials of various test prep providers, <em>practice</em> tests can differ meaningfully from the <em>actual</em> test.</p>
<p>The same risk applies to most AI benchmarks, which are the “public leaderboard” of AI evaluation. At any point during the training process, researchers can check their models against the benchmark to see how it’s doing and ensure that performance is moving in the right direction. Benchmark performance isn’t a “surprise” at the end of a training run. It’s the same with Kaggle contests — contestants can always check their performance via the public leaderboard. This creates perverse incentives to only do things that drive direct improvement on the benchmarks, leading to overfitting, the curse of all machine learning practitioners.</p>
<p>Again, if you want some intuition, think about the education context. Imagine if teachers knew in real-time how their students would perform on the test — a score every day of class rather than one a year. Whatever concerns you have about teaching to the test, you should be only more concerned if teachers had a real-time view of their students’ test performance. The dopamine rush of seeing those scores bob up and down every day would drive an even more myopic focus on test performance. Anything a teacher could do to drive up those scores, even if it meant rote memorization of facts, would be extremely tempting. This is the world we live in when it comes to AI benchmarking.</p>
<p>There’s a balance we must strike. To the degree the test actually tests what you think and hope it does, it makes sense to “teach to the test”, assuming it’s actual learning and not just coerced memorization. However, if the test isn’t perfectly correlated with the true objective, these efforts can drive perverse behaviors in both the teachers (trainers) and students (models).</p>
<h2>Closed source benchmarks</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516265094-closed-source-benchmarks.jpeg" alt="closed-source-benchmarks"></p>
<p><a href="https://whoisnnamdi.com/portfolio/">I’m a big fan of open source</a> when it comes to software. I’m a big fan of closed source when it comes to standardized testing.</p>
<p>Open benchmarks have an important role to play, and <strong>I don’t think we think we should dispose of them.</strong> A common basis of comparison that is open access, that we can all inspect and contribute to, is certainly valuable. But we also need to round out the ecosystem with <strong>closed, private benchmarks</strong>, a critical complement.</p>
<p>Just like in the world of standardized testing, private benchmarks would need to establish themselves as standard-bearers for quality, which requires building up trust with the broad community. In a competitive market where end users of these models really do care about quality and performance, benchmark providers will sprout up and compete for their business, jostling for position as the ultimate arbiter of model performance. In the limit, <em>the benchmarks will be benchmarked</em>, in the same way that colleges are ranked for quality in explicit and implicit ways. Trusted “brands” will emerge.</p>
<p>Ideally, these private evaluators would not train and market state-of-the-art foundation models themselves, as there would always be an incentive to either leak the benchmark data to the training pipeline or craft a benchmark that the researchers know their model will perform well on.</p>
<p>In a perfect world, you would have <strong>blind benchmarking</strong>, which is to say benchmarking that is obfuscated from the folks who trained the model, so that there would be no way for the training pipeline to be contaminated. Model trainers would not know in advance what the benchmark is or what the questions are. They would train models to the best of their abilities, and only know how it performs on the benchmark after training is done. This is analogous to pre-registration of scientific studies, where researchers pre-commit to a certain methodology before conducting a trial or analysis.</p>
<p>Even better, you would want <strong>one-time benchmarks</strong>: benchmarks crafted *once* and then only used *once* to test a model or a set of models. At that point, the benchmark would be “used up” and no longer valid. That’s how Kaggle works, and it’s exactly how most standardized tests work — each exam is only given once, on a certain day, and then it’s thrown out or farmed out to test prep providers and tutors who use it as part of their materials. This is fine — as long as the score students report to colleges is from a clean, never-before-seen exam.</p>
<p>Again, a college would never accept a student’s scores from an SAT practice exam as equally valid as the real thing. All I’m asking for here is a similar level of rigor.</p>
<h2>Super serious</h2>
<p>My point here is not — “this AI stuff is a big conspiracy, these models are just stochastic parrots with no real intellect at all”. I think we’re far enough along and the results of these models are way too compelling to short change them like that. We should take these models very seriously; they really are getting better and better all the time.</p>
<p>My point is exactly that — <strong>we should take these models seriously, which means taking their evaluation seriously.</strong> We aren’t right now, at least not in the public discourse around model performance.</p>
<p>No exam is perfect — as we know, standardized tests have their flaws. But we’re much better off having them than not. Right now, the broader AI community has no form of standardized testing for AI models. This is untenable.</p>
<p>It’s why I was so excited to lead <a href="https://www.patronus.ai/">Patronus AI’s</a> <a href="https://lsvp.com/stories/building-with-patronus-ai-automated-ai-evaluation/">seed round</a> last year, and it’s why I’m even more pumped now that they’ve raised a <a href="https://www.patronus.ai/blog/announcing-our-17-million-series-a">$17M Series A</a>.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516270273-patronus-series-a.jpeg" alt="patronus-series-a"></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Venture Activity Index – Q4 2023]]>
                        </title>
                        <description>
                            <![CDATA[Capital deployment remains depressed, sitting about 50% below trend]]>
                        </description>
                        <link>https://whoisnnamdi.com/vai-q4-2023/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/vai-q4-2023/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 07 Mar 2024 18:18:09 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512300770-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>I’ve updated the Venture Activity Index for <a href="https://whoisnnamdi.com/vai/">Q4 2023</a> data.</p>
<p>As a reminder, the VAI is an index measuring current venture investment across stages relative to the long-run trend. It’s a useful and simple barometer of activity and sentiment in the venture market. The methodology is <a href="https://whoisnnamdi.com/venture-activity-index/">here</a>.</p>
<p>Some small modifications since the last version of the index that I published in Q2 2023:</p>
<ul>
<li>Updated data for Q4 2023</li>
<li>Removed seasonality from the data</li>
<li>Removed super later stage rounds post-Series D. This was causing excess volatility that wasn’t representative of the overall venture market</li>
</ul>
<p>With that out of the way, here’s where we’re at:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516263084-vai_plot.png" alt="vai_plot"></p>
<ul>
<li>Capital deployment remains depressed, sitting about 50% below trend</li>
<li>We’ve hit the trough but remained there rather than recovered to trend. It's a bit of a <a href="https://en.wikipedia.org/wiki/Dead_cat_bounce">dead cat bounce</a></li>
</ul>
<p>Another interesting view of the data is to show the various components by stage:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516260600-vai_disagg.png" alt="vai_disagg"></p>
<ul>
<li>The later stages spiked the most in 2021, the earliest stages the least. This then reversed, with late stage capital falling somewhat more than early stage capital</li>
<li>However, all stages are similarly depressed at this point relative to their respective trends</li>
</ul>
<p>As I caveated in the first version of the index, if we continue to stay below trend I may need to update the definition of trend to recognize that we’re on a new trajectory. For now, I'll continue to use a long-term, constant growth rate to define the trend for each stage:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516258214-detrend.png" alt="detrend"></p>
<p>That's it! I think the data mostly speaks for itself here, so I'll keep my commentary light for this one. Will update this again next quarter.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Series A Bust]]>
                        </title>
                        <description>
                            <![CDATA[Investors have lost faith in Series A as a sign of product-market fit. In other words, they expect more but believe less.]]>
                        </description>
                        <link>https://whoisnnamdi.com/series-a-bust/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/series-a-bust/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 03 Jan 2024 15:58:05 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512299180-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>It's cold out there in Series A land:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516228412-deals_a.png" alt="deals_a"></p>
<p>A common explanation for the Series A winter is raised expectations – investors are demanding to see better metrics and traction. Most companies don't meet this new, higher bar, hence fewer deals get done.</p>
<p>While certainly true, <em>this can't be the whole story.</em> Only if we look at Series As in a vacuum does this explanation seem comprehensive. Incorporating what's happening in the rest of the market, however, there's a much richer narrative to explore.</p>
<p>The bigger picture? In addition to raising their expectations for Series A, investors have lost faith in Series A as a sign of product-market fit.</p>
<p><strong>Series A investors expect more but believe less.</strong></p>
<h2>Relatively speaking</h2>
<p>Valuations for both Seed and Series A stage companies rose dramatically over the last decade or so of venture:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516255175-valuations.png" alt="valuations"></p>
<p>The appreciation in Series A valuations seems extreme relative to that of Seed deals. Of course, the scales here are different, so we'd do better to baseline these to the same starting point and track the growth over time:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516252211-valuations_growth.png" alt="valuations_growth"></p>
<p>While the two grew roughly in line for the first few years, Series A valuations began to accelerate around 2017. That acceleration sustained itself until the recent fall off in venture valuations.</p>
<p>Notably, both Seed and Series A valuations are recovering. That's a small point in favor of the "raised expectations" story – investors are funding higher-quality businesses, deserving of stronger valuations.</p>
<p>Here's where the expectations story starts to lose its luster. Below I plot the valuation gap or "premium" for Series A relative to Seed, along with a flexible trend line to remove noise:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516241688-premiums_a.png" alt="premiums_a"></p>
<ul>
<li>From 2010 to 2014, the two grew roughly in line, with Series As being priced 200% higher or 3x Seed rounds</li>
<li>Then, Series A valuations accelerate relative to Seeds to a 325% premium or 4.25x multiple</li>
<li>In 2019, the Series A premium spikes again, peaking in late 2021 at 500% or 6x</li>
<li>Things collapse after that, ending in Q3 2023 at 2010 levels</li>
</ul>
<p>If investor expectations told the full story, Series A valuations relative to Seed deals would be <em>higher</em> today. Since Seed investments remain speculative and standards have risen for Series A investment, we'd expect the typical Series A to be even <em>more</em> valuable relative to Seeds, reflecting higher quality. Instead, the gap has compressed.</p>
<p>It's been quite the rollercoaster ride. Notably, this rollercoaster is unique to Series A / Seed. We don't see remotely the same behavior in the premium between later rounds:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516248852-premiums.png" alt="premiums"></p>
<p>The premium for Series B vs. A and the premium for Series C vs. B are both much more stable over time, with little trend once you remove the noise. The Series C / B premium saw a slight bump during the exuberant 2021 days, but that was short lived:</p>
<ul>
<li>The Series B / A premium has been roughly 200% for the entire period</li>
<li>The Series C / B premium hovers around 125% with few exceptions</li>
</ul>
<p>For whatever reason, the way investors value Series A companies relative to Seed stage companies has fluctuated substantially over time (slowly rising and then suddenly falling), while their views on relative value in later stages have held steady.</p>
<p>Why?</p>
<h2>Series A University</h2>
<p>What is different about graduating from Seed to Series A than going from Series A to B, Series B to C, etc?</p>
<p>There are many potential explanations, but the one that jumps out to me is some notion of <strong>product-market fit (PMF) and business de-risking.</strong> Series A companies tend to have much better PMF than Seed companies, in a way that's distinct from Series B relative to Series A, and so on.</p>
<p>Think about it like higher education – a college degree is a signal of one's skills to the labor market. <a href="https://www.clevelandfed.org/publications/economic-commentary/2012/ec-201210-the-college-wage-premium">Employers value them accordingly.</a> Further, a college degree means more relative to not having one than having a graduate degree means relative to having only an undergraduate education. Again, employers value them accordingly:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516239360-Pasted-image-20231227144822.png" alt="Pasted-image-20231227144822"></p>
<p>While the probability of a company achieving PMF is certainly not 100% at the time of Series A (many companies raise Series A before that), it's definitely much higher at the A round than at the Seed round, since it's effectively 0% at that point.</p>
<p>Startup risk reduces materially once a company graduates to Series A. In a way, that's exactly why a startup successfully raises its Series A – the founders have de-risked the business, so much so that an investor is willing to invest substantial capital, take a board seat, etc.</p>
<p>If we posit that the "price" or "value" of PMF is well-proxied by the Series A / Seed premium, we can think of this premium moving over time due to fluctuations in the supply (among startups) and demand (among investors) for PMF:</p>
<ul>
<li>A rising price typically indicates either contracting supply – the relative supply of startups with PMF vs those without – or growing demand – the relative demand for post-PMF startups vs pre-PMF startups</li>
<li>Importantly, these are <em>relative</em> concepts – the number of pre and post-PMF startups could be both growing over time, but if the number of pre-PMF startups is growing faster, that would imply a <em>relative decline</em> in PMF supply</li>
</ul>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.014ex;" xmlns="http://www.w3.org/2000/svg" width="56.728ex" height="5.138ex" role="img" focusable="false" viewBox="0 -1381 25073.6 2271" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-76" d="M338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-70" d="M36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218Z"></path><path id="MJX-1-TEX-N-79" d="M69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-1-TEX-N-50" d="M130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488Z"></path><path id="MJX-1-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-1-TEX-N-46" d="M128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-2D" d="M11 179V252H277V179H11Z"></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="52" xlink:href="#MJX-1-TEX-N-52"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(736,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(1180,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(1458,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(1958,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2347,0)"></use><use data-c="76" xlink:href="#MJX-1-TEX-N-76" transform="translate(2625,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(3153,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3597,0)"></use><use data-c="53" xlink:href="#MJX-1-TEX-N-53" transform="translate(3847,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(4403,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(4959,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(5515,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(6071,0)"></use><use data-c="79" xlink:href="#MJX-1-TEX-N-79" transform="translate(6349,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(6877,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(7127,0)"></use><use data-c="66" xlink:href="#MJX-1-TEX-N-66" transform="translate(7627,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(7933,0)"></use><use data-c="50" xlink:href="#MJX-1-TEX-N-50" transform="translate(8183,0)"></use><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D" transform="translate(8864,0)"></use><use data-c="46" xlink:href="#MJX-1-TEX-N-46" transform="translate(9781,0)"></use></g><g data-mml-node="mo" transform="translate(10711.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(11767.6,0)"><g data-mml-node="mtext" transform="translate(220,676)"><use data-c="53" xlink:href="#MJX-1-TEX-N-53"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(556,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(1112,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(1668,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(2224,0)"></use><use data-c="79" xlink:href="#MJX-1-TEX-N-79" transform="translate(2502,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3030,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(3280,0)"></use><use data-c="66" xlink:href="#MJX-1-TEX-N-66" transform="translate(3780,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(4086,0)"></use><use data-c="50" xlink:href="#MJX-1-TEX-N-50" transform="translate(4336,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(5017,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(5517,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(5911,0)"></use><use data-c="2D" xlink:href="#MJX-1-TEX-N-2D" transform="translate(6300,0)"></use><use data-c="50" xlink:href="#MJX-1-TEX-N-50" transform="translate(6633,0)"></use><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D" transform="translate(7314,0)"></use><use data-c="46" xlink:href="#MJX-1-TEX-N-46" transform="translate(8231,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(8884,0)"></use><use data-c="53" xlink:href="#MJX-1-TEX-N-53" transform="translate(9134,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(9690,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(10079,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(10579,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(10971,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(11360,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(11916,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(12472,0)"></use></g><g data-mml-node="mtext" transform="translate(443.5,-686)"><use data-c="53" xlink:href="#MJX-1-TEX-N-53"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(556,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(1112,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(1668,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(2224,0)"></use><use data-c="79" xlink:href="#MJX-1-TEX-N-79" transform="translate(2502,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3030,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(3280,0)"></use><use data-c="66" xlink:href="#MJX-1-TEX-N-66" transform="translate(3780,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(4086,0)"></use><use data-c="50" xlink:href="#MJX-1-TEX-N-50" transform="translate(4336,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(5017,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(5409,0)"></use><use data-c="2D" xlink:href="#MJX-1-TEX-N-2D" transform="translate(5853,0)"></use><use data-c="50" xlink:href="#MJX-1-TEX-N-50" transform="translate(6186,0)"></use><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D" transform="translate(6867,0)"></use><use data-c="46" xlink:href="#MJX-1-TEX-N-46" transform="translate(7784,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(8437,0)"></use><use data-c="53" xlink:href="#MJX-1-TEX-N-53" transform="translate(8687,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(9243,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(9632,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(10132,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(10524,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(10913,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(11469,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(12025,0)"></use></g><rect width="13066" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>So what explains the pre-2022 run up in the Series A / Seed premium: declining (relative) <em>supply</em> of PMF or rising (relative) <em>demand</em> for PMF?</p>
<p>My argument: <strong>rising demand for PMF.</strong></p>
<p>First, as I've argued elsewhere, the growth and development of the venture ecosystem has been a mostly demand-side story. That should strongly bias us toward the demand explanation:</p>
<blockquote>
<p>Investors are the primary driver of fluctuations in venture activity and equity prices around their long-run trend – <a href="https://whoisnnamdi.com/not-enough-startups/">We Don't Have Nearly Enough Startups</a></p>
</blockquote>
<blockquote>
<p>The venture ecosystem is supply-constrained – there isn't nearly enough startup equity out there to satisfy investor demand.<br>
Additional capital drives opportunistic company formation at the Seed stage. However, the additional capital doesn't improve survival to the later stages – it simply drives prices up for the remaining companies – <a href="https://whoisnnamdi.com/its-valuations/">It's Valuations (Almost) All the Way Down</a></p>
</blockquote>
<p>Second, the ratio of Series A to Seed transactions has been reasonably stable since about 2014. It's declining somewhat (Seed rounds are growing slightly faster than Series As) but not nearly as rapidly or vigorously as relative prices have moved. In fact, it's remarkably consistent, even through the ups and downs of the last few years:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516246775-premiums_deals.png" alt="premiums_deals"></p>
<ul>
<li>Seed activity (the denominator) exploded through 2014, bringing down the ratio (A long time ago, Series As were more common than Seeds)</li>
<li>The Series A vs Seed ratio stabilized thereafter, only slightly falling over the years</li>
</ul>
<p>My read: this is evidence of stable relative supply of pre vs. post PMF companies. More often than not, when quantities are steady (as in the chart) and prices are rising, it's due to constrained supply rather than constrained demand.</p>
<p>So, investor demand for de-risked companies rose substantially, driving higher relative prices for Series A companies. Meanwhile, the supply of such opportunities didn't grow to match that, so we didn't see a dramatic change in Series A relative to Seed activity.</p>
<h2>Busted</h2>
<p>Ok, so we have a plausible story for everything that happened up until the 2021 market peak. But things obviously turned after that. For my theory to be credible, it has to offer some explanation for the recent downturn that fits the data.</p>
<p>Speaking of data – everything we've looked at thus far is from the perspective of the overall market. But individual companies and founders don't experience the aggregate, they live their own particular trajectory, raising subsequent rounds spaced apart rather than at the same time. A founder looking to raise Series A cares about how the market looks 18-24 months <em>after</em> they raise their Seed:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516230546-Pasted-image-20231024140149.png" alt="Pasted-image-20231024140149"></p>
<p>Let's take the founder perspective and compare Series A deal activity to Seed activity 21 months prior, a reasonable (median) estimate for the time it takes to raise that next round. Think about it as a rough proxy for the Seed to Series A "graduation" or "survival" rate. Not every Series A was preceded by a Seed financing, so this is more of an upper bound for the graduation rate:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516244384-premiums_deals_a.png" alt="premiums_deals_a"></p>
<ul>
<li>From 2014-2020 it's a very similar picture to what we looked at before, a stable "graduation rate"</li>
<li>Conditions improve substantially in 2020, i.e. more Seed companies survive to the next round</li>
<li>However, post 2021 the graduation rate collapses to the lowest levels ever seen, ~20%</li>
</ul>
<p>So, while the ratio of Seed to Series A deals at any particular point in time has been stable, due to the timing discrepancy (founders raise their Series A some time after the Seed), the numerous startups that raised Seed funding during the boom are now facing a massive bust. Ironically, though 2021 was the "best" time to raise a Seed based purely on venture activity and valuations, <strong>it was the "worst" time to raise Seed funding once you account for today's tough Series A environment.</strong></p>
<p>This simple analysis doesn't accurately identify the "level" of the graduation rate, but it proxies the "change" over time. It's safe to say <strong>the graduation or survival rate from Seed to A has fallen by more than half.</strong> Other sources like Charles Hudson, Jamesin Seidel, and <a href="https://www.linkedin.com/posts/peterjameswalker_cartadata-seed-seriesa-activity-7128075191611523072-twip/">Carta</a> corroborate this:</p>
<blockquote>
<p><strong>Decline in Graduation Rate from Seed to Series A -</strong> Historically, we've seen a strong pipeline of companies moving from seed to Series A. Recent numbers, however, indicate a significant decline in this graduation rate. Measured graduation rates will continue to fall for several quarters as companies go out for and fail to raise Series A rounds. Graduation rates from seed to Series A could drop to 25%, or one-third or one-half of what they were at the peak. – <a href="https://chudson.substack.com/p/the-big-reset-in-seed-to-series-a">The Big Reset in Seed to Series A Graduation Rates is Real and Permanent</a></p>
</blockquote>
<blockquote>
<p>Back in 2020, approximately 23% of Seed-stage startups made it to Series-A within two years. Fast forward to 2022, and the market looks different. Over the past 20 months since the start of 2022, the graduation rates have decreased to 5%. – <a href="https://jamesin.substack.com/p/a-deep-dive-into-q3-2023s-funding">A Deep Dive into Q3 2023's Funding Landscape</a></p>
</blockquote>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516234706-Pasted-image-20231030084014.png" alt="Pasted-image-20231030084014"></p>
<blockquote>
<p>The percentage of companies who make it from seed to Series A within two years fell by a lot for the 2021 seed cohort.</p>
<p>27.5% of companies that raised a seed round in 2019 made it to Series A within 2 years.</p>
<p>Only 17.6% of companies who raised their seed in 2021 have "graduated" to the next round. – <a href="https://www.linkedin.com/posts/peterjameswalker_cartadata-seed-seriesa-activity-7128075191611523072-twip/">Peter Walker on LinkedIn</a></p>
</blockquote>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516237147-Pasted-image-20231108101945.png" alt="Pasted-image-20231108101945"></p>
<p>How does my theory explain this data? Put simply, <strong>venture investors re-assessed their beliefs about Series A companies.</strong> They no longer see Series A as a substantial indicator of product-market fit, given so much risk still remains. That's why their relative price has fallen off.</p>
<p>This is different in subtle ways from the common "Series A investors have raised their expectations" narrative:</p>
<ul>
<li>If it was only about loftier expectations, the Series A premium would have <em>risen</em>, since only the best companies would be getting funded, and those companies would fetch a high price.</li>
<li>That's <em>not</em> what we see – relative prices have fallen, not risen.</li>
</ul>
<p>Investors haven't only raised their expectations; they just don't see Series A as indicative of PMF to begin with. If they did, the relative price of Series A companies would still be elevated. Instead, <strong>they no longer see the point in paying up for them.</strong></p>
<p>Again, return to the education analogy:</p>
<ul>
<li>If the college wage premium plunged, we'd say employers no longer see the college-educated as having "<em>labor market fit</em>". In other words, they lost faith in the college degree as a signal of quality in the labor market</li>
<li>You would <em>not</em> intuitively connect this to rising employer expectations (though that could certainly be true too)</li>
</ul>
<p>So sure, investors raised their expectations – you need more revenue to raise your Series A, more users, etc. But the bigger factor is that investors' <em>beliefs</em> about Series A changed.</p>
<p><strong>Investors today expect more but believe less.</strong></p>
<h2>If the product doesn't fit, you must acquit</h2>
<p>I have abused the expression "post-PMF". The reality is most companies do not achieve product-market fit by their Series A, and that's always been true. But that's my entire point – investors have wizened up to the fact that Series A companies still have material risk.</p>
<p>PMF is more fleeting than we all had appreciated. Series A valuations corrected to reflect this.</p>
<p>Balance has returned to the Force. Maybe that's a good thing. But it's dreadfully volatile if you're living it in first-person as a founder. The Series A market got the wind knocked out of it just as the large 2021 Seed cohort came up for air.</p>
<p>While it's a tough time for founders, I think it's important to be clear-eyed about the reality of the situation. The bar has been raised, but further, investors are questioning the bar as a meaningful indicator of success in the first place.</p>
<p>So yes, your first priority is still to raise that next round, but there's still much work to be done thereafter. More so than ever, Series A does not mean you have product-market fit. Investors don't believe it and neither should you.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[How Redpanda is Taking Data Streaming Mainstream]]>
                        </title>
                        <description>
                            <![CDATA[Monitoring that even (Franz) Kafka would approve of]]>
                        </description>
                        <link>https://whoisnnamdi.com/data-streaming-mainstream/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/data-streaming-mainstream/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 10 Aug 2023 02:25:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512297592-blog-lightspeed-hero.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Real-time data systems tend not to have amazing developer experiences. There are two core reasons.</p>
<p>One, the developer experience for the engine itself is poor. Streaming engines tend to be difficult to use, difficult to spin up, and difficult to operate on an ongoing basis, as they have a ton of moving parts and complexity to manage. This is especially painful when trying to self-host, develop locally, or integrate into a modern <a href="https://redpanda.com/blog/test-driven-development-ci-testing-kafka">continuous integration/deployment (CI/CD) pipeline</a>. As a result, only the most sophisticated and experienced engineers can make proper use of these systems, leaving behind most software developers and narrowing the market for event-based architectures.</p>
<p>Second, most streaming data systems don’t integrate well into the rest of the developer workflow, and they lack many of the “creature comforts” developers are used to seeing in their other tools. The modern developer workflow extends much further out and is much broader in scope than the streaming engine itself. For streaming engines to cement their place in the hearts and minds of developers, they must offer solutions to the rest of the puzzle.</p>
<p>We’ve talked before about <a href="https://medium.com/lightspeed-venture-partners/why-developers-love-redpanda-30bf2f3b8231">why developers love</a> Redpanda’s core developer experience, which is leaps and bounds above what’s come before in the streaming space. With <a href="https://thenewstack.io/raft-native-the-foundation-for-streaming-datas-best-future/">native Raft</a>, no JVM, and full Kafka compatibility, Redpanda enables developers to do their best work, reducing unnecessary complexity and toil while doing it all at the <a href="https://redpanda.com/blog/redpanda-vs-kafka-performance-benchmark">highest throughput, lowest latency</a>, and, importantly, <a href="https://redpanda.com/platform-tco">lowest cost</a>.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516317236-6687382f21aa7598bd65ede7_blog-lightspeed-img1-1.png" alt="Comparison of infrastructure and admin costs between Redpanda and Kafka">
<em>Comparison of infrastructure and admin costs between Redpanda and Kafka</em></p>
<p>But it’s also important to address that second point — how Redpanda creates a holistic developer experience that services all aspects of the modern developer’s workflow, from deployment to monitoring and Day 2 operations to long-term storage. These remain unresolved, “open loops” that have prevented a broader audience of developers and organizations from taking advantage of real-time capabilities.</p>
<p>At Lightspeed, it’s our core belief that there’s a potentially massive market expansion opportunity for real-time, streaming data systems. Opening up this opportunity will require thinking much bigger about what a streaming engine can be and do.</p>
<p>That's where Redpanda comes in.</p>
<h2>Spinning up without spinning your wheels</h2>
<p>Too often, developers looking to deploy streaming data systems are left to their own devices when it comes to deployment. Deployment is often a mess, involving multiple separate binaries, each with its own peculiarities, requiring engineers to develop expertise in systems they couldn't care less about and in which they have no comparative advantage. Streaming systems can easily become one of the most painful pieces of infrastructure they’ll deploy.</p>
<p>Further, developers increasingly see the cloud as their default deployment platform. In the same way that SaaS relieves some of the operational burden of running software by offloading that to the vendor, developers would love to be able to consume cloud-based streaming services with as few wrinkles as possible. Developers want a cloud experience but their organizations don’t want to lose data sovereignty. They need a security model that works within the constraints of the typical enterprise while also getting the ease of use of the cloud — <a href="https://redpanda.com/blog/deploy-redpanda-clusters-cloud-aws-gcp">the best of both worlds</a>.</p>
<p>Lastly, developers on the bleeding edge don’t want to think about infrastructure at all, cloud or otherwise. They don’t want to think about servers, machines, nodes, availability zones, or regions. They want access to true streaming as a service rather than streaming as a server. In other words, they want serverless, and they want it now.</p>
<p>The modern developer experience requires a modern platform. Redpanda is that platform.</p>
<p>Here’s how Redpanda makes deployment a breeze.</p>
<h2>One binary to rule them all</h2>
<p>The core of the Redpanda deployment model is the way its nodes are architected. Redpanda nodes are <a href="https://redpanda.com/blog/single-binary-architecture">fully-contained processes</a> that ship with everything needed in a modern streaming system, including an HTTP proxy, a Raft-based consensus mechanism, and a schema registry. Every node runs the same, single binary, leading to significant operational simplification along with a more efficient overall operating model.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516309674-6687382d569120c8751b8575_blog-lightspeed-img2.png" alt="Close up of a self-contained Redpanda node ">
<em>Close up of a self-contained Redpanda node</em></p>
<p>It’s hard to overstate how game-changing this is. Due to this architecture, running a single Redpanda cluster doesn’t require operating a massive fleet of varying services. This is a massive boon for developer productivity and also enables Redpanda to go where previous streaming systems have struggled, including <a href="https://redpanda.com/blog/real-time-security-iot-customer-story">edge / IoT deployments</a> and CI/CD pipelines with tight performance requirements and resource constraints.</p>
<blockquote>
<p>“The latency and the throughput we got with almost no configuration was incredible. Redpanda is fast, reliable, friction-free and has very low operational overhead.” - <a href="https://alpaca.markets/">Alpaca</a></p>
</blockquote>
<h2>Hold my cloud</h2>
<p>Redpanda’s cloud turns the table on traditional cloud infrastructure. While the company does offer standard, dedicated, managed clusters in the cloud, they didn’t want to stop there. Redpanda went further, pioneering a deployment model they call <a href="https://redpanda.com/blog/deploy-redpanda-clusters-cloud-aws-gcp">BYOC</a>, or, “bring your own cloud.” BYOC lets customers deploy Redpanda clusters within their own cloud environment, while still being fully managed by Redpanda.</p>
<blockquote>
<p>“BYOC’s privacy-first architecture drives compliance for streaming data, and allows you to scale on your own infrastructure while maintaining data sovereignty requirements.” - <a href="https://redpanda.com/blog/deploy-redpanda-clusters-cloud-aws-gcp">Bring Your Own Cloud (BYOC): best of both worlds</a></p>
</blockquote>
<p>Redpanda does this by cleanly splitting the control and the data plane. The data plane stays within the customer’s cloud account, while the control plane stays on Redpanda’s side. This creates an incredibly slick and elegant setup, with proper separation of concerns between Redpanda’s and the customer’s cloud environment. With BYOC, organizations get all the benefits of the cloud while retaining <a href="https://redpanda.com/blog/kafka-redpanda-future">data sovereignty</a> and maintaining privacy.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516315111-6687382d907eec59adc13e52_blog-lightspeed-img3.png" alt="Diagram of how BYOC keeps the customer cloud separate for data sovereignty and privacy">
<em>Diagram of how BYOC keeps the customer cloud separate for data sovereignty and privacy</em></p>
<p>Redpanda takes care of everything you’d expect in a modern, competent cloud service, like provisioning, monitoring, and maintenance, while sensitive data and credentials never leave the customer environment. Rolling upgrades that the customer can control ensure zero application downtime. For obvious reasons, BYOC has become an incredibly popular deployment paradigm among Redpanda users.</p>
<blockquote>
<p>“Redpanda BYOC gives us a fully managed Kafka service running on our own cloud servers, balancing our internal compliance requirements with ease of use, and without compromising performance and compatibility.” - <a href="https://liveramp.com/">LiveRamp</a></p>
</blockquote>
<h2>Fewer servers, better service</h2>
<p>Lastly, Redpanda is working on a number of exciting features around serverless, a relatively new paradigm within the context of streaming systems. This is their focus on developer experience taken to the logical extreme — what a streaming data system could look like from the perspective of a developer who doesn’t want to worry about systems or deployment at all.</p>
<p>Importantly, serverless isn’t some esoteric technology that is far ahead of where developers are today. Serverless is here now. According to Datadog’s <a href="https://www.datadoghq.com/state-of-serverless/">2022 State of Serverless</a> report, over half of the organizations surveyed in each of the major public clouds have already adopted serverless in some fashion. For AWS in particular that number is over 70%.</p>
<p>And yet streaming data systems haven’t kept pace. Developers today who want to pair streaming data with a serverless approach are largely figuring it out on their own.</p>
<p>We believe that serverless, in addition to <a href="https://medium.com/lightspeed-venture-partners/webassembly-ing-the-pieces-vectorizeds-data-policy-engine-5ceea983ed5d">Redpanda’s planned WebAssembly capabilities</a>, is the last major step toward unlocking accessible streaming and event-based systems for the great majority of developers out there. Developers will be able to talk to a streaming data system in their native tongue and perform data transformations on the fly, almost like a universal Google Translate for streaming data.</p>
<p>With JavaScript and Python being the world’s most popular programming languages broadly and most used specifically within serverless functions, Redpanda’s upcoming serverless offerings will expand the relevant, addressable audience for streaming data by an order of magnitude or more.</p>
<h2>Monitoring that even Franz Kafka would approve of</h2>
<p>Streaming systems can be daunting, intimidating systems that are difficult to manage for the average developer. These difficulties are made no easier by the fact that the command line (i.e. a dark screen with some white text scrawled over it) is often the default way to manage these systems. Ad hoc inspection and analysis is much harder than it should be.</p>
<p>This is especially frustrating during crisis situations, such as production infrastructure going down. In such situations, time is of the essence, and engineers don’t have time to wrestle information out of their tools, searching for obscure command line invocations that they didn’t even know existed. Once the information is located, it often appears as a torrential downpour of logs and metrics, with little to no organization or formatting. We’ve all been there.</p>
<p>This just won’t do. While many developers swear by their terminals, many would love to have a more visual and intuitive representation of their infrastructure. This is especially true of younger, more junior developers who didn’t grow up writing MS-DOS applications and who have a higher standard for developer experience.</p>
<p><a href="https://redpanda.com/redpanda-console-kafka-ui">Redpanda Console</a> is a single pane of glass for managing the entire Kafka ecosystem. All of your streaming infrastructure in one place, with all the admin capabilities organizations expect:</p>
<ul>
<li>Observability over clusters, topics, brokers, and partitions</li>
<li>Ability to easily change consumer group offsets</li>
<li>Management of schema registry, connectors, and Kafka Connect clusters</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516302764-6687382d251781c480c13fdc_blog-lightspeed-img4.gif" alt="Preview of how Redpanda Console serves as a dev-friendly pane of glass.">
<em>Preview of how Redpanda Console serves as a dev-friendly pane of glass.</em></p>
<p>But the most impressive thing about Redpanda Console is that it’s not merely a “dashboard” with a slew of charts and numbers — it goes so much further than that.</p>
<p>Redpanda Console gives developers data observability superpowers they aren’t used to. This includes capabilities like push-down JavaScript filter, allowing users to filter their cluster’s data at any level of complexity by writing programmable data filters in JavaScript, with encoding support for JSON, Protobuf, Avro, and more.</p>
<p>The console also simplifies and strengthens access control. The console presents an easy interface for configuring access control lists (ACLs), setting up fine-grained role-based access control (RBAC), and reviewing comprehensive audit logs. It also integrates tightly with all the identity providers you’d expect, like GitHub, Okta, and Google, enabling Single Sign On (SSO) access.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516312496-6687382d569120c8751b8579_blog-lightspeed-img5.png" alt="Screenshot of the Kafka Access Control interface in Redpanda Console.">
<em>Screenshot of the Kafka Access Control interface in Redpanda Console.</em></p>
<blockquote>
<p>“Redpanda Console delivers a tremendous improvement in the productivity, effectiveness and quality of life of developers and operators who work with Redpanda or Kafka” - <a href="https://redpanda.com/blog/kafka-ui-redpanda-console">Redpanda Console: Putting the “fun” back into Kafka</a></p>
</blockquote>
<h2>Store more</h2>
<p>Okay, so a developer is running Redpanda. They’ve spun it up within their own cloud account as enabled by the BYOC model, and they have the beautiful Redpanda Console setup giving them full observability and control over their cluster. Everything is hooked up and data is flowing through Redpanda.</p>
<p>But all that data has to go somewhere. It’s time to talk <em>storage</em>.</p>
<p>Storage is quite important in the context of event-based architectures:</p>
<ul>
<li>Systems like Redpanda sit between data producers and consumers, allowing each to go about their business without having to worry about what the other side is doing.</li>
<li>However, due to severing this tie between producers and consumers, the responsibility of confirming successful writes falls on the streaming system.</li>
<li>Data can be produced well in advance of being consumed, so streaming systems must guarantee that no data gets lost in the shuffle.</li>
</ul>
<p>This is why Redpanda went out of its way to <a href="https://jepsen.io/analyses/redpanda-21.10.1">submit itself for testing</a> by trusted third parties like <a href="https://jepsen.io/">Jepsen</a>.</p>
<blockquote>
<p>“How did Redpanda fare in its Jepsen testing? Redpanda is a safe system without known consistency problems. The consensus layer is solid. The idempotency and transactional layers had issues that we have already fixed. The only consistency findings we haven’t addressed reflect unusual properties of the Apache Kafka protocol itself, rather than of a particular implementation.” - <a href="https://redpanda.com/blog/redpanda-official-jepsen-report-and-analysis">Redpanda’s official Jepsen report</a></p>
</blockquote>
<p>But it’s not just about the <a href="https://en.wikipedia.org/wiki/CAP_theorem">CAP theorem</a> and distributed systems. Putting on our investor “cap” for a second — data gravity is how nearly every mission-critical data system of the past generated significant value for its creators and its customers. For a data infrastructure company to build a large and valuable business, it must hold and retain customer data for extended periods of time. Ephemerality won’t cut it:</p>
<ul>
<li>Such a data system cannot merely be a place where data passes through on its way to its final destination. Such architectures and usage patterns have rarely generated multi-billion dollar outcomes. Instead, the system in question must become a trusted place for developers and organizations to store data on an ongoing basis</li>
<li>Users must be able to trust that once ingested, the data will always be there (or at least as long as their data retention policies demand).</li>
<li>Users must also trust that, once the data is there, it will be easily queryable and accessible.</li>
</ul>
<h2>A sane default: the cloud</h2>
<p>Here too, Redpanda has it covered. Presciently, the team built Redpanda with the cloud as its default storage tier. This is a stronger statement than merely being “cloud-native”: Redpanda intelligently manages reads and writes behind the scenes to provide the lowest friction and highest performance, effectively becoming an infinite storage destination:</p>
<blockquote>
<p>“Making cloud the default storage tier unlocks new streaming data use cases that were once considered out of reach. The long-term data retention capability encourages businesses to treat Redpanda as the “single source of truth” for their historical records.” - <a href="https://redpanda.com/blog/cloud-native-streaming-data-lower-cost">How Redpanda’s cloud-first storage model reduces TCO</a></p>
</blockquote>
<p>In addition to unlimited data retention, Redpanda’s cloud-first architecture enables:</p>
<ul>
<li><a href="https://redpanda.com/blog/remote-read-replicas-for-distributing-work">Remote read replicas</a> — a “CDN” for your streaming data, enabling developers to spin up and hydrate a new Redpanda cluster with mirrored data from an existing cluster, even across zones and regions</li>
<li><a href="https://redpanda.com/blog/high-availability-software-deployment-patterns-part-1">Inexpensive disaster recovery</a> — smooth failovers, with no need to maintain a separate data replication mechanism</li>
<li><a href="https://redpanda.com/blog/engineering-continuous-data-balancing">Reduced data management, admin, and toil</a> — Continuous data balancing, self-healing clusters, and unified retention controls</li>
</ul>
<p>Redpanda accomplishes this with its <a href="https://redpanda.com/blog/tiered-storage-architecture-shadow-indexing-deep-dive">Shadowing Indexing</a> architecture, which was built from scratch to support cloud-native <a href="https://docs.redpanda.com/docs/manage/tiered-storage/">Tiered Storage</a>, enabling Redpanda to seamlessly move data between brokers and reliable, cheap cloud stores like Amazon S3 or Google Cloud Storage (GCS). Users can access their data using the same Redpanda/Kafka APIs they’re used to, while getting infinite data retention and scalability for free.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516298557-6687382d1dd2b64747bcf80f_blog-lightspeed-img6.png" alt="Diagram of how Redpanda’s Tiered Storage works with Amazon S3.">
<em>Diagram of how Redpanda’s Tiered Storage works with Amazon S3.</em></p>
<p>The upshot of all this innovation is amazing ease of use and performance at an incredibly low cost.</p>
<h2>Data unchained</h2>
<p>We’ve already talked a bit about <a href="https://redpanda.com/blog/kafka-redpanda-future">data sovereignty</a> in the context of the cloud, where security and retaining control of enterprise data are key concerns. That’s a very <em>literal</em> interpretation of sovereignty. But there’s another, potentially equally important notion of control that developers and organizations care about, but often give up as a side effect of adopting cloud data stores. Often enough, one doesn’t even realize something has been lost until you’re in too deep.</p>
<blockquote>
<p>“Data sovereignty is much harder to achieve than data privacy. Privacy can be achieved with policy: delete this, mask that, obfuscate here, index like so. Sovereignty can only be achieved if you, the user, control the hard drive lifecycle where data resides. There are no two ways about it. Data either lives inside the hard drives that you control or it does not.” - <a href="https://redpanda.com/blog/kafka-redpanda-future">Data sovereignty is the future of cloud</a></p>
</blockquote>
<p>Redpanda believes developers should control the data they produce. This goes without saying in the world of on-prem. However, we cannot take this for granted in the era of the cloud:</p>
<ul>
<li>That hard drive holding your data is no longer running in your data center — it’s running in someone else’s.</li>
<li>Further, once it ends up in that external store, many vendors erect all sorts of barriers to accessing and manipulating the data: esoteric and proprietary data formats, domain-specific query languages, egregious egress fees, and the like.</li>
</ul>
<p>These aren’t (pleasant sounding) data lakes or even (somewhat less enticing) data warehouses, they’re <em>data jails</em>, and the vendor holds the only key. As far as Redpanda is concerned, that isn’t true data sovereignty.</p>
<p>Redpanda wants to fix this. Leveraging popular open data formats like <a href="https://redpanda.com/blog/apache-hudi-iceberg-delta-lake-differences">Apache Iceberg</a> and the unique BYOC architecture we discussed earlier, Redpanda will enable developers to finally regain ownership over their data. Developers will be able to pick their preferred storage vendor while maintaining ownership, queryability, indexing, and portability no matter where the data ends up. Today it’s S3, tomorrow it’s Snowflake and Databricks, and in the future, it’ll be any vendor they’d like. Organizations will also be able to bring their own query engines to the data, no matter the underlying data format.</p>
<p>Developers will once again own their data. All enabled by Redpanda.</p>
<h2>Conclusion</h2>
<p>Redpanda meets developers where they are and then enables them to go even further. That reach will push Redpanda to places no streaming system has gone before, driving a level of mission-criticality beyond most other developer infrastructure. The ease of use and incredible flexibility of Redpanda will generate developer love and appreciation for the product. And, with infinite retention and a strong commitment to data sovereignty, Redpanda’s “data gravity” will only grow.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516319629-66a3d55edc368c41e27704d1_66873620cc1c1391aec633b1_blog-gaming-img2.png" alt="Diagram of the Redpanda compatibility ecosystem">
<em>Diagram of the Redpanda compatibility ecosystem</em></p>
<p>It's why we were so excited to lead their recent <a href="https://medium.com/lightspeed-venture-partners/why-lightspeed-is-leading-redpandas-100-million-series-c-553ffe38d6e">$100M Series C financing</a>. The real-time revolution has only just begun, and Redpanda is leading the charge.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Venture Activity Index]]>
                        </title>
                        <description>
                            <![CDATA[Measuring the state of the venture "business cycle"]]>
                        </description>
                        <link>https://whoisnnamdi.com/venture-activity-index/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/venture-activity-index/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 25 Jul 2023 09:09:47 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512296049-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>It's no secret – unless you're building in AI, the venture market isn't very kind right now.</p>
<p>After a euphoric 2021, funding took a nosedive, falling to the lowest pace we've seen in some time. While economists and politicos debate whether we're in an economic recession, there's no debate in the venture economy – <strong>it ain't pretty out there for founders trying to raise capital right now.</strong></p>
<p>But that sentiment is somewhat anecdotal, backed by the gut feeling of venture market participants. It'd be great to have a view of the venture cycle that was backed up by the data, some sort of indicator of the phase of the cycle we're currently living through.</p>
<p>So I came up with a methodology for measuring the state of the venture "business cycle" – how the venture market is performing relative to some underlying notion of "trend". Its construction is actually quite simple, and the result is something I think could serve as a useful barometer for the ecosystem as we chart a course from here.</p>
<p>It's called the Venture Activity Index, or "VAI". Let me walk you through how I got there.</p>
<h2>Quick stats</h2>
<p>To measure the venture cycle, we need a notion of "trend" – the thing around which the venture market is fluctuating. If we plot funding growth on a logarithmic scale across each stage of venture investment, a clear linear trend emerges. (Note: linear trends in logarithms implies constant percentage growth over time):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516216166-detrend.png" alt="detrend"></p>
<p>I could have come up with a fancier notion of trend, but I'll proceed with the linear one as it's nice and simple.</p>
<p>Venture activity, as defined by aggregate funding, fluctuates up and down around this trend. The slope varies by stage, but it's a fairly consistent story across stages – <strong>on average, funding grows ~5% each quarter.</strong></p>
<p>One quick note: I could have focused instead on the number of investments rather than the scale of investment activity measured in dollars. However, working in dollar terms is nice because it implicitly accounts for valuations, which is critical for holistically characterizing the state of the venture market.</p>
<p>Next, let's remove that trend and focus on the gyrations around it:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516213000-cycles.png" alt="cycles"></p>
<ul>
<li>The cycles were only moderately correlated across stages before 2020. The average cross-stage correlation hovered around ~0.25 pre-2020.</li>
<li>However, since 2020, they've moved in lockstep, following one common cycle up and then down.</li>
</ul>
<p>This is typical in economic data: in volatile times, different parts of the market often become much more tightly correlated. It's interesting to see the same phenomenon in the venture data. Further, it's important that the various stages of venture correlate with one another, as otherwise there'd be no sense in talking about a singular "cycle" for the whole ecosystem.</p>
<p>Overall, the correlations are around ~0.65 for the whole period, with the seed stage being the most dissimilar to the other stages of investment:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516210617-correl.png" alt="correl"></p>
<p>The amplitudes of the cycles, however, differ across stages, both historically and more recently:</p>
<ul>
<li>The seed stage is relatively steady, never more than 50% off trend, with a quarterly standard deviation across time of about 20 percentage points.</li>
<li>Series A is a bit more volatile but not significantly so.</li>
<li>Growth and later stages are the most volatile, ranging from a standard deviation of ~30 p.p. for Series B all the way to ~50 p.p. for Series D+.</li>
</ul>
<p>In other words, booms and busts are substantially larger at the later stages:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516224959-volatility.png" alt="volatility"></p>
<p>And in case you're wondering, this was true before 2020 as well. It's not just a recent phenomenon: the late-stage market has always required a bit of a strong stomach.</p>
<h2>One metric to rule them all</h2>
<p>Now let's throw it all together. Again, in the spirit of simplicity and robustness, let's take the simple average of the individual trends to arrive at a blended view of the venture ecosystem.</p>
<p>I present to you… the Venture Activity Index (VAI):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516222284-vai_plot.png" alt="vai_plot"></p>
<p>The last three years of the VAI are the obvious anomaly:</p>
<ul>
<li>Capital deployment rose to 90% above trend, exploding over only a few quarters.</li>
<li>The correction was just as vigorous, bottoming out at ~60% below trend and stable for the last two quarters.</li>
</ul>
<p><strong>We haven't seen anything like this in the prior ten years of activity.</strong> Previous peaks and valleys were at most +/-25%. The volatility of the last three years is <em>unheard of</em> in recent memory.</p>
<p>When knocked off trend, venture activity returns to steady state after ~1.5 years. Only in that sense was the exuberance of 2021 relatively normal – it lasted roughly as long as such booms tend to last. We'll see if that behavior continues.</p>
<p>Again, I want to emphasize this is a measure of the venture business <em>cycle</em>, not the trend itself, which we first removed. A rise or decline in the VAI implies funding grew faster or slower than trend, respectively, <em>not</em> that funding rose or fell in absolute terms.</p>
<p>Due to its cyclic nature, the VAI forecasts future changes in venture activity. When it's high, future venture activity slows. When it's low, venture activity accelerates in the next few quarters. This is true across stages, though it's most accurate for the later stages:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516219221-vai_forecast.png" alt="vai_forecast"></p>
<p>Overall, a 10% increase in the VAI forecasts anywhere from a 6.5% decline in seed stage venture funding over the next year to a 21.5% decrease at the Series D+ stage (and vice versa for a decrease in the VAI).</p>
<h2>Conclusion</h2>
<p>The Venture Activity Index is a simple and informative indicator of the state of the venture "business cycle". In a single number, it quantifies the "gut feelings" we all have about the venture climate today, in the past, and in the future.</p>
<p>To wrap up, a few caveats:</p>
<ul>
<li>The backward-looking trend updates every quarter, which can slightly change the historical numbers as new data comes in.</li>
<li>A linear trend may not make sense in the long-run. For example, if the rate of capital deployment never returns to its prior trend, at some point we'd have to accept that a new trend has been established, making the old one irrelevant. I may later change my calculation of trend to address this.</li>
<li>My simple average of the various stage-specific trends could be improved upon with some sort of factor analysis technique. Again, I may switch to this at a later date.</li>
</ul>
<p><strong>I plan to update the VAI quarterly as new data comes in.</strong> For the latest data, look <a href="https://whoisnnamdi.com/vai">here</a>.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Shadow Price of Venture Capital]]>
                        </title>
                        <description>
                            <![CDATA[Valuations are 60% too high relative to the volume of venture funding]]>
                        </description>
                        <link>https://whoisnnamdi.com/shadow-price/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/shadow-price/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 14 Jun 2023 17:45:20 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512294402-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Venture valuations have fallen off a cliff, but they are still too high.</p>
<p>Valuations rise and fall with the volume of dollars invested in startups according to a stable ratio: for every one percent change in funding, valuations move two-thirds of a percent.</p>
<p>But since peaking in late 2021, valuations have only fallen 0.4% for every 1% drop in funding. This pricing "error" has accumulated: <strong>today's valuations are 60% higher than you’d expect for the amount of capital invested.</strong></p>
<p>In other words, the "shadow price" of venture capital is a lot lower than what we're seeing in announced transactions these days. Never before have valuations and funding diverged so meaningfully from their long-run equilibrium, for so long.</p>
<p>What does it all mean?</p>
<h2>A 3-for-2 special</h2>
<p>Valuations and capital invested in venture have both grown substantially since 2010:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516205819-val_cap.png" alt="val_cap"></p>
<p>Interestingly, they trend together. As one rises, the other does too. Same in the other direction.</p>
<p>It's not a perfect relationship, but there's clearly something tying them together.</p>
<p>In fact, you can predict average valuations from the capital invested each quarter. The below chart plots actual valuations over time against what we'd predict based on capital deployment – a simple regression of valuations on funding:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516208909-val_pred.png" alt="val_pred"></p>
<p><strong>Capital invested predicts the average valuation of deals done each quarter.</strong></p>
<p>Most of the time, the "errors" of this capital-based prediction are small. Further, these deviations typically correct themselves within a quarter or two.</p>
<p>In this sense, <strong>venture valuations are a function of capital flows.</strong> More capital drives valuations ever higher, in a fairly predictable fashion. There's an equilibrium, a balance between the two.</p>
<p>They don't grow at the same rate, however. For every 1% increase in funding, valuations rise about 0.66% or two-thirds of a percent. If you like clean whole numbers, the ratio is about 3:2.</p>
<p>Most of the increased funding goes to rising prices rather than more individual investments. This mirrors points I've made previously:</p>
<blockquote>
<p>"the valuation inflation we've seen "comes from" the incredible growth in demand and lack of supply of startup equity"<br>
…<br>
"Additional capital drives opportunistic company formation at the Seed stage. However, the additional capital doesn't improve <em>survival</em> to the later stages – it simply drives prices up for the remaining companies" – <a href="https://whoisnnamdi.com/its-valuations/">It's Valuations (Almost) All the Way Down</a></p>
</blockquote>
<h2>Price check, please?</h2>
<p>Economists have a term I think is relevant – <strong>shadow price</strong> – or, the price of something that either isn't typically traded in the market or for which accurate pricing is hard to come by. For example:</p>
<ul>
<li>The price of an illicit good (drugs, contraband of various sorts, etc)</li>
<li>In certain economies like Argentina, the shadow or "black market" price for exchanging the local currency for a foreign currency like the U.S. dollar, which differs from the "official" rate.</li>
</ul>
<p>Why is this relevant to venture capital?</p>
<p>Well, because so many venture transactions <em>don't</em> happen. Most startups fundraise only once in a while. Founders delay fundraising if they can't fetch an attractive price from investors. Down rounds are verboten. Those deals are <em>missing</em> from the quarterly venture activity data:</p>
<ul>
<li>Accounting for these phantom fundraises would lower the average venture valuation, since low prices are the whole reason those deals aren't happening. In other words, there's massive <strong>selection bias</strong>.</li>
<li>Companies also tend to be more public about their valuations the higher they are. Journalists love reporting on high valuations. As a result, the data we have on valuations is also likely skewed too high due to <strong>reporting bias</strong>.</li>
</ul>
<p>The prices we see investments getting done at are misleading. Thus, the concept of a shadow price applies to venture – it's the price that would prevail if companies were forced to transact at current prices and we had perfect data on all fundraises.</p>
<p>I think of the dashed line in the chart above as something akin to the "shadow valuation" of venture capital investment.</p>
<h2>Wow, that's a high price!</h2>
<p>The reliable relationship between prices and funding has broken down in recent quarters.</p>
<p>While valuations and funding have both declined since late 2021, funding declined by much more. Valuations have not fallen by nearly as much as the 3:2 ratio would imply. Instead, since the market peaked the ratio has been more like 5:2, or, said differently, valuations have only fallen 0.4% for every 1% drop in funding.</p>
<p>In other words, even after collapsing, valuations are still too high relative to their historical relationship with funding.</p>
<p>We can visualize this growing "error" – the percentage difference between actual and predicted valuations – shown below. Above the zero line means valuations are too high, below means valuations are too low:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516200524-coint_res.png" alt="coint_res"></p>
<p><strong>Current valuations are ~60% too high relative to the volume of capital being deployed.</strong> There just aren't enough dollars sloshing around to support these prices, at least based on the 10 years of venture history prior to the go-go days of 2021.</p>
<p>Since 2010 valuations have rarely been "off" by more than 20%. 60% is <em>unprecedented</em>.</p>
<p>Again, notice how in the past any deviation from equilibrium quickly reverts, nearly always within a quarter or two. Something has changed – "error correction" is <em>totally absent</em> in recent quarters.</p>
<p><strong>This is worrying.</strong> Never in the last decade-plus of venture activity have valuations and funding flows diverged so meaningfully from their long-run equilibrium, for so long. Could this mean there's a lot more pain ahead?</p>
<h2>These deals won't last</h2>
<p>Now, it's totally possible we have it all backwards.</p>
<p>Till now I've taken for granted the idea that capital flows drive valuations.</p>
<p>Perhaps valuations have risen for separate, independent reasons and funding volume grew to meet these new prices. Thus, it could be funding that corrects itself, rather than valuations. Perhaps the current gap signals funding is <em>too low</em> rather than warning valuations are <em>too high</em>.</p>
<p>Let's check what happened in the past. That is, <strong>how have valuations and funding historically reacted to past deviations from their long-run ratio?</strong> That would be a strong clue as to which is the driver and which is the passenger here.</p>
<p>That's straightforward enough – just run a regression of valuation and funding growth on deviations. If valuations react more, then we know valuations correct for past deviations from equilibrium. If invested capital reacts more, then its funding that corrects.</p>
<p>Turns out, valuations correct past deviations (left chart), funding does not (right chart):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516203476-err_corr.png" alt="err_corr"></p>
<p>When valuations and funding volume drift apart, it's valuations that come running back:</p>
<ul>
<li>If valuations are high relative to funding, valuations tend to fall the following quarter</li>
<li>If valuations are too low relative to funding, valuations rise next quarter</li>
</ul>
<p>Funding doesn't respond at all.</p>
<p>Deviations reflect unusual valuations rather than abnormal funding. <strong>Valuations are out of whack, not funding volume.</strong></p>
<p>Pricing "errors" forecast future valuations, since valuations reliably and quickly respond to those deviations in later periods. The implication? <strong>Valuations should fall dramatically from here.</strong> That they haven't yet can be chalked up to a combination of market inefficiency and reluctance.</p>
<p>Just like in a Keynesian model of the economy, where sticky, slow to adjust prices exacerbate economic downturns, "sticky valuations" lengthen and worsen venture recessions. Deals that could get done at more reasonable valuations don't happen, as founders and existing investors don't want to take the hit:</p>
<blockquote>
<p>Private valuations lag public valuations, often by a substantial amount and for a long time – <a href="https://whoisnnamdi.com/old-valuations/">Old Valuations Die Hard</a></p>
</blockquote>
<p>We should prefer swift, definitive corrections over slow moving train wrecks. Instead, we drag things out. Everyone suffers as a result.</p>
<h2>Tourist prices</h2>
<p>That venture prices are tied so strongly to capital flows is striking:</p>
<ul>
<li>This contradicts standard corporate finance which values companies based on fundamentals. The amount of capital in the market shouldn't impact valuations if the intrinsic value hasn't changed.</li>
<li>However, that's not what we see – there doesn't seem to be anything "fundamental" anchoring the price of startups. Startups are priced based on the amount of capital in the private markets at the time.</li>
</ul>
<p><strong>More capital, higher prices.</strong> Again, it's not one-for-one, but it's clear most of the capital goes toward higher prices rather than more deals getting done.</p>
<p>In my last essay, I was struck by how sensitive private valuations were to interest rates:</p>
<blockquote>
<p>… <strong>seven quarters out valuations are up ~25%</strong>, falling back to their original level after three years – <a href="https://whoisnnamdi.com/discount-rates/">Don't Discount Interest Rates</a></p>
</blockquote>
<p>As readers pointed out, a pure discounted cash flow (DCF) analysis would never suggest such a large impact. This is a fair point, and one I too pondered.</p>
<p>However, these magnitudes make much more sense in the context of capital flows. Low interest rates attract capital to risky assets like venture capital as investors <a href="https://www.richmondfed.org/~/media/richmondfedorg/publications/research/econ_focus/2013/q3/pdf/federal_reserve.pdf">reach for yield</a> unavailable elsewhere. If capital flowing into startups raises prices, then we really have two simultaneous effects:</p>
<ul>
<li>The first is traditional, static, corporate finance, which says interest rates (or rather, the discount rate) influence valuations.</li>
<li>The second is the dynamic effect of interest rates on venture capital funding, which then impacts valuations via the 3:2 relationship I studied above.</li>
</ul>
<p>This double whammy is how you end up with such severe valuation swings.</p>
<p>Ironically, it's the tourists who "price" venture investments on the margin – those much-derided investors who, like birds, cyclically flock to and flee from venture investing with the changing economic winds. Us "locals" have no choice but to live with it.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Don't Discount Interest Rates]]>
                        </title>
                        <description>
                            <![CDATA[It's Jay Powell's world. We're just living in it.]]>
                        </description>
                        <link>https://whoisnnamdi.com/discount-rates/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/discount-rates/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 10 May 2023 16:59:24 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512292592-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Interest rates are the Federal Reserve's go-to treatment for an ailing, lethargic economy.</p>
<p>But the Fed's meds have a curious side effect – <strong>they're a shot of adrenaline for the venture market.</strong></p>
<p>Low interest rates jolt the heart rate of venture capital, driving a manic frenzy of transactions and funding for startups.</p>
<p>On the other hand, high interest rates kill the vibe, causing deals to dwindle and prices to plummet.</p>
<p>You don't need a PhD to understand that. What's less obvious is exactly how large of an effect we're talking about here.</p>
<p>Turns out – it's huge. For a 25 basis point or 0.25% change in the one-year Treasury yield:</p>
<ul>
<li>Deal activity adjusts ~10%</li>
<li>Valuations move ~25%</li>
<li>Capital invested shifts by ~30%</li>
</ul>
<p>These effects are persistent, meaning we're always dealing with the aftermath of past interest rate shocks. It's the (highly oxygenated) air we breathe.</p>
<p>It's Jay Powell's world. We're just living in it.</p>
<h2>Interest rates are interesting</h2>
<p>The Federal Reserve's zero interest rate policy (ZIRP) has come to an end:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516178670-int_rate.png" alt="int_rate"></p>
<p>It's no secret interest rates affect tech valuations:</p>
<blockquote>
<p>During the last few years low interest rates and money printing <a href="https://blog.eladgil.com/p/changing-times-or-why-is-every-layoff">led to a funding bubble in private technology</a> – Elad Gil, <a href="https://blog.eladgil.com/p/startup-decoupling-and-reckoning">Startup Decoupling &#x26; Reckoning</a></p>
</blockquote>
<p>So the corporate finance logic goes, companies are worth the <a href="https://www.investopedia.com/terms/n/npv.asp">present value</a> of their cash flows, and the "discount rate" one applies to those cash flows is the key input – lower rates mean higher valuations, and vice versa.</p>
<p>As much as investors like to ignore it, there's an obvious connection between valuations and interest rates:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516192967-Pasted-image-20230321221512.png" alt="Pasted-image-20230321221512"><br>
Source: <a href="https://docs.google.com/presentation/d/1Hyn4FWHSNRrWJeddi0BMEQIMlmXy2SNj50T8jJcrKbw/edit#slide=id.g11953bc14ff_2_116">Redpoint Ventures</a></p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516196109-Pasted-image-20230413194408.png" alt="Pasted-image-20230413194408"><br>
Source: <a href="https://www.bvp.com/atlas/state-of-the-cloud-2023">Bessemer Venture Partners</a></p>
<p>These charts reference publicly traded companies. However, I've never seen anyone quantify the sensitivity of <em>private</em> tech valuations. In other words, "if interest rates fall by X percentage points, venture valuations rise by Y%," and vice versa:</p>
<ul>
<li>Merely knowing Y is a positive number is only marginally helpful; <strong>we should really want to know exactly how large Y is!</strong></li>
<li>Also, to what extent are tech valuations driven by interest rates and to what extent by other factors?</li>
<li>Oh, and while we're at it – is the effect instantaneous? Or does the effect take time to percolate given the inefficiencies of the venture market?</li>
</ul>
<p>Meanwhile, interest rates could affect more than just valuations. Recall <a href="https://whoisnnamdi.com/its-valuations/">a few essays ago</a> I introduced the following framework for thinking about the individual "components" of a dollar of venture capital funding – deals, valuation, and dilution:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516162014-decomposition_excalidraw.png" alt="decomposition_excalidraw"></p>
<p>Interest rates could affect all these variables, and we should want to know how:</p>
<ul>
<li><strong>Deals:</strong> Low interest rates drive speculation, encouraging "betting" on startups. High rates send the gamblers home.</li>
<li><strong>Dilution:</strong> Low rates create a more founder-friendly environment, reducing the ownership founders give up. Vice versa for high rates.</li>
<li><strong>Funding:</strong> To the degree investors "search for yield," startups attract capital when other investment opportunities are scarce.</li>
</ul>
<p>So I set out to find some answers.</p>
<p>A quick note before we proceed. It turns out, the Federal Reserve is mostly predictable, so most of its moves are already "priced in" by the market. I instead focus on <em>unexpected</em> and unanticipated shifts in interest rates that market actors haven't yet reacted to. To account for these expectations, I control for other macro variables like U.S. GDP, inflation, and the Nasdaq index.</p>
<p>For example, if the one-year Treasury rate declines by 0.5%, the market may have only expected a 0.25% decline based on current economic conditions, leaving 0.25% unexpected:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516176997-int_rate_excalidraw.png" alt="int_rate_excalidraw"></p>
<p>OK – that's the most complicated concept you need to understand. With that out of the way, let's jump to the results.</p>
<h2>Long and variable lags</h2>
<p>The following charts trace the effect of a 0.25 percentage point or 25 basis point (bps) cut in the <a href="https://fred.stlouisfed.org/series/DGS1">one year U.S. Treasury yield</a> on various measures of venture activity, up to twelve quarters / three years out:</p>
<ul>
<li>25 bps is the typical increment the Federal Reserve uses.</li>
<li>I focus solely on the "surprise" component. The "total" change in rates would have been even larger.</li>
</ul>
<p>The effects are quite strong, especially on deal flow and valuations:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516181469-lp_1.png" alt="lp_1"></p>
<ul>
<li>Deal activity rises for six quarters before receding back down to zero after ten quarters. Peak impact is substantial – <strong>about 10% more deals are getting done six quarters out</strong></li>
<li>Valuations take longer to peak but the size of the effect is more extreme; <strong>seven quarters out valuations are up ~25%</strong>, falling back to their original level after three years</li>
<li><strong>Dilution is more muted</strong>, remaining largely flat initially but then dipping ~5% after a few quarters without ever recovering with the three year window</li>
</ul>
<p>Critically, interest rates affect deal flow, not just valuations:</p>
<ul>
<li>It's not simply the same set of companies raising money at higher prices. <strong>More companies get funded in the first place as well.</strong></li>
<li>As I found in <a href="https://whoisnnamdi.com/old-valuations/">Old Valuations Die Hard</a>, deal flow reacts quickly, while valuations take longer to adjust but see a larger impact overall.</li>
</ul>
<p>This has pros and cons:</p>
<ul>
<li>More deals means more entrepreneurs get to take a swing.</li>
<li>Conversely, however, when interest rates rise, founders not only accept lower valuations – <em>some founders don't get funded at all</em>.</li>
</ul>
<p>Let's drive that point home by visualizing the same analysis but for an increase in interest rates rather than a decrease:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516184651-lp_1n.png" alt="lp_1n"></p>
<p>Rising rates squeeze the life out of venture capital. Per the logic I outlined in my <a href="https://whoisnnamdi.com/not-enough-startups/">last essay</a>, we know this reflects reduced investor demand, since quantities and prices drift together:</p>
<blockquote>
<p>Demand can shift… which causes prices and quantities to move in the <strong>same</strong> direction (up when demand increases, down when demand decreases – <a href="https://whoisnnamdi.com/not-enough-startups/">We Don't Have Nearly Enough Startups</a></p>
</blockquote>
<p>The (multiplicative) aggregation of these individual sub-effects yields the overall effect on venture funding:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516187735-lp_2.png" alt="lp_2"></p>
<ul>
<li>Funding builds up for almost two years, peaks at nearly 30% above baseline, then falls back to zero by about 11 quarters out.</li>
</ul>
<p>With rising rates, funding falls just over 20%:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516190086-lp_2n.png" alt="lp_2n"></p>
<p>Perhaps it's obvious, but these are extremely large effects!</p>
<p>Thankfully, interest rates don't move up or down enough to regularly generate these sorts of reactions. A 10 bps / 0.1% surprise is much more common than a 25 bps / 0.25% one.</p>
<p>Notably, the effects aren't permanent; As interest rates reset, so does the venture market.</p>
<h2>A brief history of time value</h2>
<p>The current "era" of venture capital has been deeply influenced by this strange interest rate regime, having evolved entirely within it.</p>
<p>With our previous estimates, we can run a backwards-looking "attribution analysis", explaining the ups and downs of venture in terms of interest rates. In other words, we can break down the recent history of venture activity into the portions influenced by interest rates vs. other factors.</p>
<p>First up: deal activity. In red I plot an index of the overall growth in venture deal activity since early 2014, averaged across funding stages, and in blue I plot the portion attributable to unexpected interest rate shocks:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516167290-hd_deals.png" alt="hd_deals"></p>
<ul>
<li><strong>Interest rates explain nearly the entire explosion of venture deal activity over the last few years.</strong></li>
</ul>
<p>Of all the charts, this is the one I probably spent the most time staring at and double-checking the numbers, as it's just so striking.</p>
<p>Let's do the same for valuations (notice the bigger scale here):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516175139-hd_valuation.png" alt="hd_valuation"></p>
<ul>
<li>The higher rates of the 2018 era pushed down valuations, but the effect reversed as rates fell heading into 2020. <strong>Interest rates on their own doubled valuations.</strong></li>
<li>However, the valuation inflation was so extreme that interest rates can't explain it all, implying more had to be going on.</li>
</ul>
<p><strong>This is important:</strong> that interest rates explain nearly all deal flow but only part of the rise in valuations implies that demand for startups has outstripped supply of startups. With nowhere else to go, that excess demand spills over into prices. You can't invest in startups that don't yet exist, so you compete for the few that do, bidding up prices. This is the same conclusion I reached in a prior essay:</p>
<blockquote>
<p>… the valuation inflation we've seen "comes from" the incredible growth in demand and lack of supply of startup equity – <a href="https://whoisnnamdi.com/its-valuations/">It's Valuations (Almost) All the Way Down</a></p>
</blockquote>
<p>Here's dilution:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516171162-hd_dilution.png" alt="hd_dilution"></p>
<ul>
<li>Dilution is noisier, complicating interpretation. The way to read this chart is that interest rates increased dilution through 2019 but afterward exerted downward pressure on dilution.</li>
<li>From 2019 through 2022, interest rates drove dilution down 20%, which is exactly how much they declined in total, therefore <strong>accounting for nearly all of the fall.</strong></li>
</ul>
<p>Putting it all together, here's what our little attribution methodology has to say about the effect of interest rates on overall VC funding:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516164359-hd_capital.png" alt="hd_capital"></p>
<ul>
<li>From 2014 through the top of the market in 2021, <strong>interest rates accounted for a 200% (!!!) expansion in venture funding.</strong></li>
<li>As with valuations, the run up in venture funding was too extreme to be completely explained by interest rates.</li>
</ul>
<h2>Don't discount interest rates</h2>
<blockquote>
<p>Monetary actions affect economic conditions only after a lag that is both long and variable – Milton Friedman</p>
</blockquote>
<p>Before concluding, I should mention some caveats to this analysis:</p>
<ul>
<li>First, <strong>there aren't many examples of big interest rate moves over this period.</strong> I may have overfit to the few meaningful changes in rates since the 2008 Financial Crisis.</li>
<li>Second, <strong>it's possible I haven't controlled for all the relevant variables.</strong> For example, a lot happened during the pandemic that isn't fully captured by my choice of controls.</li>
<li>Third, <strong>I use the U.S. Treasury yield, i.e. the risk free rate, as my measure of interest rates</strong>, which doesn't fit a high-risk asset class like venture capital. Unfortunately, no venture-specific analog exists.</li>
<li>Fourth, and I'm repeating myself because it's important, <strong>these are the effects of an unexpected shift in rates</strong>, whereas most interest rate movement is expected by the market. If interest rates change by 50 basis points tomorrow, no more than half of that was in fact a "surprise."</li>
</ul>
<p>Caveats aside, Friedman's proclamation appears to hold for venture capital – it takes multiple years for interest rate effects to fully play out.</p>
<p><strong>Even in the private markets, we're all Fed watchers now:</strong> these interest rate effects are too large to ignore. In fact, interest rates are so impactful that they explain most of the mass hysteria of the last few years, both on the upside and the down.</p>
<p>Importantly, <strong>interest rates cannot forever move in one direction.</strong> Over the years, they mean revert, making their impact temporary at best. Don't get too accustomed to any particular regime – the new normal will always eventually look like the "old normal."</p>
<p>Don't discount interest rates.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[We Don't Have Nearly Enough Startups]]>
                        </title>
                        <description>
                            <![CDATA[Where did the explosive growth in venture activity come from?]]>
                        </description>
                        <link>https://whoisnnamdi.com/not-enough-startups/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/not-enough-startups/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 11 Jan 2023 19:38:41 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512290728-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Where did the explosive growth in venture activity come from?</p>
<p>Two possible drivers – investor exuberance and founder fervor:</p>
<ul>
<li>Did investors become substantially more favorable toward private startups, and founders merely reacted to that increased interest?</li>
<li>Or, did we all become much more entrepreneurial, and investors simply provided the capital in response?</li>
</ul>
<p>In other words, was it demand, supply, or some combination of the two?</p>
<p>Here's a hint: we don't have nearly enough startups.</p>
<h2>Narrative violation</h2>
<p>Measured in either financing activity or equity valuations, the venture-backed startup ecosystem has grown <em>a lot</em>:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516136315-deals_valuation.png" alt="deals_valuation"></p>
<p>There's a common narrative out there that the bonanza in venture-backed startups over the last decade reflects growing entrepreneurialism, the ease of starting a company, etc.</p>
<p>I question this story.</p>
<p>Only Seed rounds grew significantly faster than real GDP over the last decade. Series A's also outpaced GDP but not by much. The rest are on or even below trend, especially after the recent slowdown:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516128451-deals_gdp.png" alt="deals_gdp"><br>
<em>Note: Q4 2022 US GDP not yet available as of publication</em></p>
<p>The long-run trend of real GDP reflects supply-side factors, i.e. the fundamental productive capacity of the economy. The similar trends at the later stages imply the "fundamental productive capacity" of the venture ecosystem, i.e. its ability to generate real, meaningful businesses, is growing no faster than the rest of the economy.</p>
<p>The U.S. economy isn't growing quickly by the way – 2% real growth year-over-year is a good benchmark. So if the trends line up, the venture world can't be growing much faster than 2% in real terms, that is, excluding the impact of <a href="https://whoisnnamdi.com/its-valuations/">valuation inflation</a> that I discussed a few essays ago.</p>
<blockquote>
<p>At the later-stage, valuation inflation explains nearly <em>all</em> growth in venture funding over the last eleven years – <a href="https://whoisnnamdi.com/its-valuations/">It's Valuations (Almost) All the Way Down</a></p>
</blockquote>
<p>An equally if not more plausible story is that demand-side factors drove the explosion in venture activity over the last decade. Growing investor interest and appetite for private startups could explain much of the growth.</p>
<p>However, merely staring at trend lines doesn't yield much insight. It's like a tough marketing attribution exercise – the growth attributable to either demand or supply is ambiguous.</p>
<p>We should resolve this ambiguity:</p>
<ul>
<li>As participants in this ecosystem, we should want to see it grow in real terms rather than merely nominal ones</li>
<li>In other words, we'd be much better off if venture activity reflects growing capacity and ability of entrepreneurs to start successful new businesses</li>
<li>If in fact the growth in venture activity is merely a reflection of investors needing increasingly obscure and speculative places to park their money, we have a big problem on our hands. The shell game will implode:</li>
</ul>
<blockquote>
<p>Valuations can't rise forever, so over the long-run venture capital can't grow much faster than the number of ventures themselves – <a href="https://whoisnnamdi.com/its-valuations/">It's Valuations (Almost) All the Way Down</a></p>
</blockquote>
<h2>Economics 101: Supply and Demand</h2>
<p>First, let's quickly review Economics 101.</p>
<p>Here's the classic supply and demand chart. Supply and demand together determine equilibrium prices (Y-axis) and quantities (X-axis). Importantly, demand is downward sloping (you want more stuff the cheaper it is) and supply is upward sloping (you produce more stuff when you can sell it for more):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516150460-supply_demand.png" alt="supply_demand"></p>
<p>In this model, two forces can move markets. Demand can shift (for reasons that don't have to do with prices themselves), which causes prices and quantities to move in the <strong>same</strong> direction (up when demand increases, down when demand decreases):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516151557-supply_demand2.png" alt="supply_demand2"></p>
<p>Or, supply can change (again, for reasons other than price), in which case prices and quantities move in <strong>opposite</strong> directions (price move <em>against</em> supply, quantities move <em>with</em> supply):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516153177-supply_demand3.png" alt="supply_demand3"></p>
<p>In simple terms, when everyone wants the same thing and wants it <em>really badly</em>, the price tends to go up and more of that item gets bought and sold. When everyone wants to produce and sell the same thing and wants to do so <em>really badly</em>, they compete against one another, driving prices down to accommodate the increased activity.</p>
<p>In venture terms, when investor demand for startups rises, valuations increase and more deals get inked. When entrepreneurial supply expands, valuations decline and more deals get done.</p>
<h2>VC is trendy</h2>
<p>Venture deals and valuations have both grown over time, so it's all demand-driven right?<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516139825-deals_valuation2.png" alt="deals_valuation2"></p>
<p>Not so fast.</p>
<p>While it's tempting to end the analysis here, for reasons I'll skip over, you can't simply compare two trending metrics and assume they're correlated. The relationship could easily be <a href="https://www.tylervigen.com/spurious-correlations">spurious</a>, and we don't want that. By the magical transitive property, anything we concluded based on that relationship would be spurious as well. Cool math.</p>
<p>The key is to "de-trend" the data first. We need to remove the long-run trend and then compare <em>deviations</em> from that trend.</p>
<p>Ignoring the details, here's what that looks like (data normalized and smoothed slightly to remove noise):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516142441-deals_valuation3.png" alt="deals_valuation3"></p>
<p><em>Lo' and behold:</em> deal flow and valuations fluctuate together around their respective trends.</p>
<p>OK, maybe that's not <em>always</em> true, but it's nearly always true. Early stage is the exception to the rule.</p>
<p>Seed financings were negatively correlated with valuations before roughly 2017:</p>
<ul>
<li>When deal flow increased, valuations plummeted, and vice versa</li>
<li><strong>This smells like supply to me</strong> – there was only so much investor demand, so when more startups came to market, they competed, and prices tended to fall, benefitting investors. When the supply of startups contracted, prices rose as investor battled over the few remaining deals</li>
</ul>
<p>Series A rounds used to be positively linked to valuations, but they've de-correlated over the last few years:</p>
<ul>
<li>Pre-2019, Series A deal flow and valuations tended to move in the same direction</li>
<li><strong>Sounds like demand to me</strong> – startup supply was constrained, so investor sentiment drove the market, moving prices up as they grew more eager and down as they soured on the venture ecosystem</li>
</ul>
<p>Across growth and later stages, deal flow and valuations are unambiguously positively related, moving almost in perfect unison for the last decade:</p>
<ul>
<li><strong>Demand clearly wins it</strong> – late stage supply is badly constrained, so investor demand is the prime mover. Their manic and depressive episodes move the market accordingly</li>
</ul>
<p>Some of these relationships have shifted over time, so let's visualize that with rolling three-year correlations for each stage:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516145429-deals_valuation4.png" alt="deals_valuation4"></p>
<p>This is my qualitative narrative in quantitative terms:</p>
<ul>
<li>The Seed stage flipped being negatively correlated to positively (supply → demand)</li>
<li>Series A de-correlated to effectively zero (demand → ❓)</li>
<li>Series B and later deal flow and valuations have always been strongly positively related (demand all day baby)</li>
</ul>
<h2>Channel attribution</h2>
<p>This is the best evidence I've seen to date for the demand-side hypothesis.</p>
<p>The scorecard so far suggests demand reigns:</p>
<ul>
<li>Investors are the primary driver of fluctuations in venture activity and equity prices around their long-run trend</li>
<li>Yes, more deals are getting done (so by definition more startups are getting funded), but that appears to be a function of increasingly desperate investors rather than increasingly bold and enabled founders</li>
</ul>
<p>In other words, the supply of startup equity is badly constrained:</p>
<blockquote>
<p>The venture ecosystem is supply-constrained – there isn't nearly enough startup equity out there to satisfy investor demand.</p>
<p>Additional capital drives opportunistic company formation at the Seed stage. However, the additional capital doesn't improve survival to the later stages – it simply drives prices up for the remaining companies – <a href="https://whoisnnamdi.com/its-valuations/">It's Valuations (Almost) All the Way Down</a></p>
</blockquote>
<p>As a reminder, our evidence for this is the positive link between de-trended deal activity and valuations. That's a nice trick, but it only tells us at each point in time whether movements in demand or supply dominated. I want to explain the <em>entire last decade or so</em> of venture history in terms of supply and demand channels.</p>
<p>Yes, yes, history is not bi-causal, hammer looking for a nail, etc, but how about one more magic trick to close things out?</p>
<p><em><strong>Warning: armchair econometrics ahead!</strong></em></p>
<p>Let's stretch our simple supply and demand model to the absolute extreme:</p>
<ul>
<li>Remember, a positive relationship between deal flow and valuations suggests a change in demand, while a negative or inverse relationship suggests shifting supply</li>
<li>So, we could simply attribute each quarter of venture activity to either demand or supply demand based on whether deal flow and valuations move in similar or opposing directions during the quarter</li>
<li>We can then cumulate the respective contributions of demand and supply to the growth of the venture ecosystem over time</li>
</ul>
<p>Here's what that looks like for venture deal flow since early 2010. Demand is red, supply is blue, sugar is sweet, and so are you:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516130818-deals_supply.png" alt="deals_supply"></p>
<p>That's a lot of red out there:</p>
<ul>
<li>The demand channel drove most of the growth in venture activity in nearly every stage other than Seed, where its relative contribution is closer to 50/50</li>
<li>Early stage supply contributed positively to deal flow from 2010 to about 2015 but then stagnated</li>
<li>Supply has never been a meaningful contributor at the growth and late stage and even seems to have <em>contracted</em> in certain cases</li>
</ul>
<p>Et tu, valuations?</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516133188-deals_supply2.png" alt="deals_supply2"></p>
<p>The story isn't much different for valuations, except perhaps with some signs flipped:</p>
<ul>
<li>Here again, investor demand was the main driver, pushing prices higher in every stage</li>
<li>The increase in early stage supply in the early 2010s relieved some price pressure, but this eventually receded</li>
<li>The effect of late stage supply on valuations is somewhat noisy, but by the end of the sample those supply constraints appear to have driven prices higher, on balance</li>
</ul>
<p>In case I haven't sufficiently caveated already: <em>this is extremely unscientific.</em> No Nobels will be awarded for this work (your subscription is enough reward for me, awwww), but it does serve as coarse, suggestive evidence that demand is, or at least has been, king in venture over the last decade.</p>
<h2>There's only so many startups to go around</h2>
<p>So, what have we learned?</p>
<p>To the degree founders are starting more venture-backable companies, it's largely driven by the cold, rational calculus that investors are much more eager to buy up equity in private companies today than they used to be.</p>
<p>This explains much of the growth in the venture ecosystem over the last decade: more deals get done and those deals are more expensive because of surging investor demand. This has been great for founders.</p>
<p>However, this will be painful for investors, since <a href="https://whoisnnamdi.com/grow-valuation/">companies rarely grow into their valuations</a>:</p>
<blockquote>
<p>Most often, companies don't grow fast enough to compensate for rising valuation multiples. Instead, high valuations today imply slower value appreciation in the future, i.e. lower returns.<br>
…<br>
Investors like to think companies will grow into their valuations, but more often than not, the stock simply underperforms – <a href="https://whoisnnamdi.com/grow-valuation/">Companies Rarely Grow Into Their Valuations</a></p>
</blockquote>
<p>Meanwhile, the supply of startup equity remains constrained. Rather than potential founders becoming more eager to start companies for "fundamental" reasons, entrepreneurs are reacting to investor sentiment. While there's been some growth in supply at the earliest stages, the fundamentals haven't necessarily improved much, which is why late stage deal flow hasn't grown any faster than U.S. GDP.</p>
<p>I'll repeat what I said earlier – <strong>we'll all be much better off if more people start companies for good, wholesome reasons that don't have anything to do with valuations.</strong></p>
<p>There was a time where the notion of handing millions of dollars to an extremely young company sounded crazy, and anyone willing to do so extracted a significant ownership stake for taking on that risk. Founders got diluted, badly.</p>
<p>We're well past that now. <a href="https://whoisnnamdi.com/its-valuations/">Dilution has fallen in every stage since 2010:</a><br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516148372-dilution.png" alt="dilution"></p>
<p>We have more startups, but:</p>
<ul>
<li>It's largely been a reaction to attractive valuations and reduced dilution that founders must endure to raise capital</li>
<li>Past the seed stage, it's not at all obvious that founders are fundamentally better equipped to build successful companies today vs. a decade ago</li>
</ul>
<p>The demand side got a bit ahead of itself. It's time for the supply side to catch up.</p>
<p>We don't have <em>nearly</em> enough startups.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Old Valuations Die Hard]]>
                        </title>
                        <description>
                            <![CDATA[Private valuations substantially lag public tech valuations]]>
                        </description>
                        <link>https://whoisnnamdi.com/old-valuations/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/old-valuations/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 13 Dec 2022 17:47:55 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512288499-header-6.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Public technology valuations have crashed.</p>
<p>A worsening economic outlook and tight monetary policy sent tech stocks through the floor.</p>
<p>However, private valuations are slower to adjust.</p>
<p>Private valuations lag public valuations, often by a substantial amount and for a long time.</p>
<p>As we all lick our wounds during this venture downturn, many are asking: when will it all end?</p>
<p>The answer? <strong>About three years.</strong></p>
<h2>Public-private partnership</h2>
<p>Private valuations rose dramatically over the last decade. But so did the Nasdaq:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516114872-nasdaq_valuation.png" alt="nasdaq_valuation"></p>
<p>It's remarkable how well the two track one another.</p>
<p>In a sense, the growth of public tech valuations seems to pin down the rise of private valuations, defining a trend to which private valuations always tend to return. It's clear that venture investors use public valuations to justify private ones.</p>
<p>One feature immediately stands out – private valuations are much more volatile than public valuations, particularly at the later stages:</p>
<ul>
<li>This is to be expected – it's not the same companies that are fundraising each quarter, so we'd naturally expect the prices to jump around a bit</li>
<li>Meanwhile, the composition of the Nasdaq doesn't change much quarter to quarter, so as an aggregate it's much more stable</li>
</ul>
<p>If we throw each one on its own axis, the relationship is even more obvious:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516118040-nasdaq_valuation2.png" alt="nasdaq_valuation2"></p>
<p>Across stages, private valuations move one-for-one with public valuations.</p>
<ul>
<li>Seed valuations have grown somewhat slower than the Nasdaq, moving 0.5% for every 1% move in the tech index</li>
<li>Series A, B, and C valuations have moved one-for-one</li>
<li>Series D+ valuations have grown 1.3% each point of growth in the Nasdaq</li>
</ul>
<p>We can replicate the same analysis for private venture activity. The relationship is not as tight:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516103145-nasdaq_deals.png" alt="nasdaq_deals"></p>
<p>Deal activity is more or less related to public tech valuations, depending on stage. Here too we see much more volatility in the private realm than the public, again, for understandable reasons.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516105657-nasdaq_deals2.png" alt="nasdaq_deals2"></p>
<p>In general the slopes here are flatter than for valuations:</p>
<ul>
<li>Seed deals have grown at roughly the same pace as public valuations</li>
<li>For other stages, growth has lagged public tech valuations – growing at about half the pace</li>
</ul>
<h2>Level with me</h2>
<p>Though intuitive, these comparisons are not rigorous. It's too easy to find spurious relationships among variables that are all trending in the same direction. There's less risk of that in our case since public and private technology markets are closely linked, but we should be wary regardless.</p>
<p>We can do better by focusing less on the relationship between <em>level</em> of the Nasdaq and some other variable and more on the correlation between <em>changes</em> in the respective metrics.</p>
<p><strong>The key question:</strong> how does a change (up or down) in public technology valuations affect the prices of private financings, and how quickly?</p>
<p>Some good ol' regression analysis can answer this.</p>
<p>Glossing over a bunch of detail:</p>
<ul>
<li>We can forecast future changes in private valuations and financings based on current changes in public tech valuations.</li>
<li>We'll run one regression for each forecast horizon: concurrent (time zero) impact, one quarter out, two quarters out, etc.</li>
<li>The coefficients of these regressions trace out the impact of the original movement in the Nasdaq on private prices and volume in later periods.</li>
</ul>
<h2>The path to recovery</h2>
<p>Hope you're still with me. Let's run those regressions and see what we get.</p>
<p>We'll focus on downward movements in the Nasdaq. This is how a 1% decline in the Nasdaq affects private valuations and deal flow over future quarters:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516125140-valuations_deals-1.png" alt="valuations_deals-1"></p>
<p>Private valuations gradually decline after a drop in the Nasdaq:</p>
<ul>
<li><strong>Prices drop continuously for four quarters</strong></li>
<li>At the trough, private valuations fall ~2.25% lower for every 1% loss in the Nasdaq</li>
<li><strong>Venture valuations take 10 quarters to recover</strong></li>
</ul>
<p>Movements in the Nasdaq reliably forecast venture deal activity too, which drops and rebounds faster than prices:</p>
<ul>
<li>Deal activity bottoms in the third quarter after impact</li>
<li>Overall deal count rises back to its original level by the 8th quarter</li>
</ul>
<h2>Down for a down round?</h2>
<p>This masks a lot of underlying variance between the different segments of the venture ecosystem. Starting with valuations, let's explore how the shape of the recovery varies by stage:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516120390-nasdaq_valuation3-2.png" alt="nasdaq_valuation3-2"></p>
<p><strong>Valuation dynamics depend on stage:</strong> Early stage valuations drop 1-1.5% for every 1% decline in the Nasdaq, while growth and late stage valuations decline 2-2.25%.</p>
<p><strong>Note: these aren't exact estimates.</strong> Uncertainty grows as we look further out from initial impact, so don't pay much attention to the numbers at the 12-quarter mark. It's the shape and length of the recovery that matters most.</p>
<p>With some back-of-the-envelope math, we can estimate both the magnitude and the length of the current downturn:</p>
<ul>
<li>The peak to trough decline in the Nasdaq this past year was about 25%, <strong>implying a ~25-35% haircut to early stage valuations and a ~50-55% cut in growth and later stage valuations</strong></li>
<li>That might sound extreme, but the sudden explosion of late stage valuations these past few years was itself quite unusual. It's not implausible that prices could fall as dramatically as they rose</li>
</ul>
<p>In fact, the correction is already well underway:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516122830-nasdaq_valuation4.png" alt="nasdaq_valuation4"></p>
<p>As predicted, late stage valuations drop much more than the Nasdaq, while early stage valuations move roughly in line. Prices have fallen faster than my forecast, but the magnitudes are on point.</p>
<p>Timing the bottom based on my regression here is a bit tricky, as the market began its decline in Q1 2022 and mostly ran its course by Q3 2022. If we use the midpoint of Q2 2022 as the "start" of the venture recession:</p>
<ul>
<li><strong>Private valuations should bottom in Q2 2023</strong></li>
<li>I'm hesitant to forecast the heydays of 2021 ever returning, but if they did, it'd happen around Q4 2024. <em>I wouldn't hold your breath though</em></li>
</ul>
<h2>Coming to terms</h2>
<p>Again, let's focus on a 1% decline in the Nasdaq:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516109041-nasdaq_deals3.png" alt="nasdaq_deals3"></p>
<p>Financings follow an interesting "sine wave" recovery in the aftermath of a plunge in the Nasdaq. Again we see more severe impact in the later stages: The quarterly volume of Seeds and As drops by 0.75-1% for each 1% decline in the Nasdaq. Late stage deals sink 2%.</p>
<p>One ray of hope – financing activity seems to come back <em>stronger</em> after a venture recession.</p>
<p>Pulling out that scribbled envelope again, these numbers suggest <strong>early stage deal activity will drop 20-25%; growth and late stage deal volumes should slide about 50%.</strong></p>
<p>Again, the data bears this out:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516112463-nasdaq_deals4.png" alt="nasdaq_deals4"></p>
<p>Remember, the venture deals should only take about a year to hit their low, so activity should stabilize in or around Q1 2023, notably ahead of valuations.</p>
<p>As I've said, these are rough estimates. All the typical caveats apply: "this time could be different," etc.</p>
<h2>Conclusion</h2>
<p>The bubble burst, but the pain won't last forever.</p>
<p>The historical relationship between the public and private tech markets lets us trace out the likely path of the venture recovery.</p>
<p>The first year is the hardest. Prices drop precipitously, in many cases, much further than their public tech comparables.</p>
<p>Things get better from there, with deal activity back on track after another year or so. Prices, however, remain depressed a little while longer.</p>
<p>All-in-all, it's a three year odyssey from start to finish.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[It's Valuations (Almost) All the Way Down]]>
                        </title>
                        <description>
                            <![CDATA[Venture funding hasn't grown as much as you think]]>
                        </description>
                        <link>https://whoisnnamdi.com/its-valuations/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/its-valuations/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 01 Nov 2022 15:48:34 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512285493-decomp_g-1.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Venture funding hasn't grown as much as you think.</p>
<p>Soaring valuations over the last decade inflated financing volumes.</p>
<p>As a result, "real", price-adjusted funding growth looks quite different from unadjusted growth, similar to traditional economic measures like GDP.</p>
<p>Adjusting for rising valuations, real venture funding at the early stage is only growing at <em>half</em> the unadjusted pace.</p>
<p>At the later stages, valuation-adjusted venture funding isn't growing *at all*.</p>
<p>It's valuations (almost) all the way down.</p>
<h2>Pre-Algebra</h2>
<p>First, a quick math refresher:</p>
<ul>
<li>Total funding volume equals the number of financing rounds multiplied by the average round size</li>
<li>Assuming a standard equity round, average round size further separates into valuation multiplied by dilution (the proportion of shares sold to investors)</li>
</ul>
<p>That gives us three components – deals, valuations, and dilution:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516088875-SCR-20221031-wdu.png" alt="SCR-20221031-wdu"></p>
<p>This framework is simple but powerful.</p>
<p>With it, we can explain the individual sources of growth in the venture funding ecosystem, cumulating into overall funding growth.</p>
<h2>Algebra II</h2>
<p>Let's walk through each component one-by-one.</p>
<p>I'll plot the growth over time of each component since 2010, leveraging data from Pitchbook for all venture deals completed in Western markets through 2021.</p>
<p>Importantly, I'll plot the cumulative <em>log growth</em>:</p>
<ul>
<li>This makes the components additive rather than multiplicative, which will help the analysis later</li>
<li>This also means you can read compound annual growth rates (CAGRs) off of the y-axis. Just take the value on the y-axis and divide by 11, which is the number of years this analysis covers</li>
</ul>
<p>Let's start with growth in funding volume by stage:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516074995-capital.png" alt="capital"></p>
<ul>
<li>Across stages, annual venture funding grew by 2.5 to 3 log points, with CAGRs ranging from 23-27% CAGR (again, just divide the log growth by 11)</li>
<li>The earliest (Seed) and latest (Series D+) stages grew fastest</li>
</ul>
<p>Next, let's dive into each of the components.</p>
<p>Deal counts have ballooned across all stages, but the Seed stage stands out:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516078152-deals.png" alt="deals"></p>
<ul>
<li>Seed deals grew the most by far over this period, 2.1 log points or 19% on an annual basis</li>
<li>On the other hand, Series C deals and later only grew ~0.75 log points, a 7% CAGR</li>
<li>As and Bs were somewhere in the middle, growing 10% annually over this time</li>
</ul>
<p>It should be noted: that Seed deals grew so much faster than the rest implies the "graduation" or "survival" rate of startups fell materially, as they've had more than enough time to mature.</p>
<p><strong>More early-stage startups has not led to many more late-stage startups.</strong></p>
<p>We'll revisit this.</p>
<p>Next up, valuations:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516096526-valuations.png" alt="valuations"></p>
<ul>
<li>Unlike deal counts, which grew the most at the early stage, valuations grew the most <em>at the later stages</em></li>
<li>Series C valuations grew at a ~20% CAGR, while Series D+ grew at ~24%</li>
<li>Series As and Bs again formed the middle of the pack, growing 1.75 log points or 16% year-over-year</li>
<li>Seed valuations "only" grew 10% annually, which is still exceptional if you think about it</li>
</ul>
<p>Lastly, let's look at dilution. Note again these numbers are in log points (<em>not</em> percentage points):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516085567-dilution.png" alt="dilution"></p>
<ul>
<li>Dilution has fallen in every stage since 2010</li>
<li>Dilution at the Series A and C has fallen the most, while dilution at the Series B has fallen the least</li>
<li>Dilution evolved similarly across stages through 2019, but for whatever reason, VCs over the last few years were much less desperate to "get their ownership" in Series A, C, and D+ rounds</li>
</ul>
<p>Note that falling dilution <em>negatively</em> impacts funding volume since less equity gets sold.</p>
<h2>Multivariable calculus</h2>
<p>And now, the main event.</p>
<p>For every financing stage, let's aggregate the change in deals, valuations, and dilution to explain the cumulative growth of funding:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516081314-decomp_g.png" alt="decomp_g"></p>
<ul>
<li>At the Seed stage, most funding growth came from more deals getting done. Valuations rose too, but deal count explains most of the overall funding growth</li>
</ul>
<p>This seems healthy – growth in funding should ideally come from growth in the total number of deals.</p>
<ul>
<li>It's a completely different story at every other stage: <em>valuations explain most of the growth in funding at Series A and later.</em></li>
<li><strong>At the later-stage, valuation inflation explains nearly *all* growth in venture funding over the last eleven years</strong></li>
</ul>
<p>In contrast to the Seed stage, this seems unhealthy: growth in the majority of the venture ecosystem (at least as measured in dollars) over the last decade was primarily driven by rising valuations.</p>
<p>Now, if you've spent a lot of time staring at data like I have, you'll know that these sorts of analyses can be very dependent on the starting year (in this case, 2010).</p>
<p>Just to be safe, we can avoid privileging any particular year as the starting point by instead calculating the variance in funding levels over time rather than the growth. Variance decomposes the same way as growth, but this time there won't be a "base year" affecting the results.</p>
<p>Do this, and the conclusion is the same – year-to-year variation in valuations accounts for most of the variance in funding volume over time at the later stages:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516082906-decomp_v.png" alt="decomp_v"></p>
<ul>
<li>At the seed stage, two-thirds of funding variance over time is accounted for by deal volume and one-third by valuations</li>
<li>At Series A and B, 65-70% of funding variance is explained by valuations</li>
<li><strong>At Series C and later, valuations account for more than 80% of the annual variance in venture capital funding</strong></li>
</ul>
<p>In economics, when quantities and prices rise together, you can be fairly sure it's driven by growth of demand, or equivalently, you know the market in question is supply constrained:</p>
<ul>
<li>The supply of startup equity at the later stages is constrained; there's only so much of it to go around</li>
<li>On the other hand, investor demand for venture assets has exploded, especially at the later stages where companies have been significantly de-risked</li>
</ul>
<p>In this sense, the valuation inflation we've seen "comes from" the incredible growth in demand and lack of supply of startup equity.</p>
<h2>Real analysis</h2>
<p>Here's another trick – if we go back to our decomposition and divide both sides by valuation, we get the following:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516092529-SCR-20221031-wg9.png" alt="SCR-20221031-wg9"></p>
<p>In other words, we can adjust funding volume by the average valuation at which these financings occurred to get a "valuation-adjusted" funding metric. This is analogous to how economists "deflate" nominal GDP by inflation (e.g. <a href="https://www.bls.gov/cpi/">CPI</a> or similar) to arrive at "real" GDP.</p>
<p>It's also the result of multiplying deal count each year by average dilution, i.e. the total equity bought and sold in the venture market each year.</p>
<p>This lets us measure "real" growth in venture funding rather than dollar-based growth, which conflates deal activity with valuation movements.</p>
<p>Compare this "real" funding metric to the "nominal" one I showed earlier:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516072685-adj.png" alt="adj"></p>
<p>Wow.</p>
<p>Real venture funding is growing much, much slower than you think:</p>
<ul>
<li>At the Seed stage, real funding growth has a 17% CAGR vs. 27% for raw funding dollars</li>
<li>At the Series A and B, real funding grew at a 7% CAGR vs. 23% for nominal funding, one-third the rate</li>
<li><strong>Real funding was flat for a decade at the later stages</strong> before finally ticking up in the heydays of 2021. Real annual growth is only 2% and 4% at the Series C and D+ respectively, vs. 23 and 27% without adjustment</li>
</ul>
<p>I want to state this as directly as possible: <strong>there was no growth in real late-stage funding activity for a decade until the bonanza of 2021.</strong></p>
<p>Said differently, no more late-stage equity traded hands in 2020 than in 2010, measured in terms of points of cap table ownership.</p>
<h2>Now you're ready for Economics 101</h2>
<p>This data contradicts the common narratives of the past decade of growth in the venture ecosystem.</p>
<p>Venture capital is about two things, ventures and capital.</p>
<p>Capital has been in excess supply the last decade, but ventures haven't.</p>
<p>Valuations can't rise forever, so over the long-run venture capital can't grow much faster than the number of ventures themselves.</p>
<p>In a way it all makes sense:</p>
<ul>
<li>By the time startups graduate to the later stages, they are real companies, typically with meaningful revenue, operations, and headcount</li>
<li>Accordingly, their total count <em>should</em> grow roughly in line with the real growth rate of modern, industrialized economies. We wouldn't expect an order of magnitude difference, otherwise late-stage startups would overtake the whole economy</li>
</ul>
<p>In other ways, it's highly concerning:</p>
<ul>
<li><strong>The supply of late-stage startup equity hasn't risen to match investor demand</strong></li>
<li>Perhaps this explains why late-stage funding seems so anemic right now - activity has reverted back to the zero-growth trend, which feels quite slow relative to the flurry of 2021 deal-making</li>
</ul>
<p>The venture ecosystem is supply-constrained – there isn't nearly enough startup equity out there to satisfy investor demand.</p>
<p>Additional capital drives opportunistic company formation at the Seed stage. However, the additional capital doesn't improve <em>survival</em> to the later stages – it simply drives prices up for the remaining companies.</p>
<p>I've long felt this but never had the data to back it up.</p>
<p>Now I do, and I think it's a big problem.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Beats and Misses Are Forever]]>
                        </title>
                        <description>
                            <![CDATA[Revenue surprises permanently shift the trajectory of SaaS companies]]>
                        </description>
                        <link>https://whoisnnamdi.com/forever/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/forever/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 14 Sep 2022 09:29:07 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512283659-forever.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Subscription revenue is a double-edged sword:</p>
<ul>
<li>It's predictable, making the business much easier to forecast</li>
<li>It's persistent – over or underperformance today reverberates far into the future</li>
</ul>
<p>Contrary to popular belief, SaaS companies do not in fact "pull forward revenue." A beat today puts the company on a permanently higher trajectory. Revenue doesn't mean revert later.</p>
<p>Likewise, deals might "slip," but there's no "catch up growth" – a missed quarter doesn't get made up for next quarter. A miss today predicts lower revenue for years to come.</p>
<p><a href="https://youtu.be/92FCRmggNqQ?t=56">Diamonds</a>, beats, and misses are forever 💎.</p>
<h2>Long vs. short</h2>
<p>Public market investors are often criticized for being too "short-term focused."</p>
<p>Politicians and CEOs alike love to hate on investors for overreacting to current business results, bidding up the stock or kicking off a fire sale depending on how quarterly earnings play out</p>
<blockquote>
<p>A widely-held view among Washington policymakers, corporate executives, the media, and the public is that frenzied, short-term stock market trading has coupled with Wall Street’s unquenchable thirst for immediate results to disrupt US firms and badly hurt the economy – <a href="https://www.americanbar.org/groups/business_law/publications/blt/2022/05/short-termism/">How Big Is the Problem of Stock-Market-Driven Short-Termism?</a></p>
</blockquote>
<p>Baked into this criticism is a view that the long-run is hard to influence – fluctuations in the short-run tend to mean revert over time. One's view of a company should change only slowly and in the face of extraordinary evidence.</p>
<p>In defiance of this heavy-handed finger-wagging, there's an alternate view that short-run performance matters and is informative <em>about the long-run</em>. The future is bound to the present, and we should decisively update our forecasts in light of new information.</p>
<p>In summary:</p>
<ul>
<li>Long-termists believe revenue will eventually revert back to some long-run trend based on the fundamentals of the business, its market opportunity, etc. Short-term fluctuations are noise and should be ignored. Quarterly beats and misses should have little, if any, impact on fundamental valuation analysis.</li>
<li>Short-termists (though they would never refer to themselves as such) believe the present moment matters and says much about the future. Short-term performance is a valuable signal that should factor into valuations. Mean revision dominates mean reversion.</li>
</ul>
<p>Who is right? And how would we know?</p>
<h2>A random or deterministic walk down Wall Street?</h2>
<p>There's a simple way to resolve this dispute. We only need to rephrase the positions of the long/short-termists, and the resolution will be clear.</p>
<p>Long-termists think today's revenue fluctuations poorly predict future revenue. They don't often phrase it that way, but that's the core underlying logic behind the belief in a stable, long-run trend.</p>
<p>This has multiple important implications.</p>
<p>For one – revenue can be "pulled forward," but this will tend not to influence the long-run trajectory of the company:</p>
<blockquote>
<p>Adobe was downgraded to neutral from buy at UBS... Analyst Karl Keirstead said after speaking with 14 large enterprise IT executives and services partners of Adobe, he's worried that spending was pulled forward in 2020 and 2021, which will pressure its growth rate this year. (<a href="https://markets.businessinsider.com/news/stocks/adobe-downgraded-to-neutral-at-ubs-on-concerns-that-spending-was-pulled-forward-10896540">Link</a>)</p>
</blockquote>
<p>Further, a missed quarter today can be made up for next quarter. Missing the target leads to revenue in the future quarters to be slightly higher, as revenue reverts back to trend. You could call this "catch up growth."</p>
<p>Meanwhile, short-termists think today's revenue movements predict future revenue. One's long-term revenue forecast should be quite sensitive to beats and misses in the present day.</p>
<p>So, pulling forward revenue doesn't come at the cost of future revenue. Similarly, missing your target today doesn't mean you're any more likely to hit tomorrow's target. In fact, you're less likely, since you're now on a lower revenue path.</p>
<p>The clean and simple test?</p>
<p>Simply run a regression of future revenue on current over/underperformance! The coefficient tells us to what extent our estimates of future revenue should shift in response to strong or weak results today:</p>
<ul>
<li>A coefficient near or greater than one tells us future revenue rises/falls by at least $1 for a $1 beat/miss today (the short-termists win)</li>
<li>A coefficient well below one means forward revenue is insensitive to today's performance and tends to mean revert (the long-termists win)</li>
</ul>
<h2>Back to the future</h2>
<p>The chart below plots revenue growth over four quarters against revenue growth today for 35 public software companies, demeaned by the respective average rate for each company. Positive values mean revenue came in higher than normal, and vice versa:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516057505-future.png" alt="future"></p>
<p><strong>Future and current revenue over/underperformance are positively related.</strong> The coefficient is 1.16, implying <strong>a $1 beat today forecasts a $1.16 beat four quarters from now.</strong> The exact reverse is true of a miss – a dollar of missed revenue this quarter lowers our expected revenue in four quarters by $1.16.</p>
<p>Additionally, the R^2 is decently high – 0.49, so about half of the variation in expected revenue four quarters out can be explained by revenue performance in the current quarter.</p>
<p>One quick aside since I know what certain folks are thinking here: I am not merely saying that current revenue predicts future revenue. I'm saying <em>changes in revenue</em> predict changes in future revenue.</p>
<p>So far, the short-termists seem to be winning. But one year is not a long-time – perhaps mean reversion takes longer? Let's check by extending the analysis to eight and twelve quarters out. That's too crowded for a single scatterplot, so I'll summarize the results and only show the coefficients at each horizon:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516054696-forever-3.png" alt="forever-3"></p>
<p>If anything, the case for short-termism only gets stronger. The two-year revenue forecast shifts by $1.25 for a $1 beat/miss today. The three-year forecast changes by $1.43.</p>
<p>Even three years out, we see no evidence of mean-reversion among the typical public software company. Beats and misses permanently shift the trajectory of the company.</p>
<p>Now, dollars are a nice unit of account, but they're admittedly hard to contextualize. A $1 beat/miss that turns into a $1.43 beat/miss three years out could be more or less meaningful depending on the scale of the company and its growth rate. Many of these companies were likely to be much larger in three years anyway.</p>
<p>Let's do the same analysis with percentages instead. What impact does a 1% beat/miss have on future revenue, also in percentage terms?</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516061204-persists.png" alt="persists"></p>
<p>Persistence persists, but this tells a slightly different story. Revenue three years from now is still 0.85% higher/lower than it would have otherwise been.</p>
<p>My interpretation: the additional (or lost) revenue from a beat (or miss) grows at a somewhat slower pace than the remaining revenue base, so we see some convergence. In other words, "surprise" revenue doesn't grow as fast as "expected" revenue.</p>
<p>You could frame this as slight mean reversion. Personally, I'd say the short-termists still have it.</p>
<h2>Working as intended</h2>
<p>Why does this happen? Why is the future so sensitive to the present?</p>
<p>Rather than a surprising phenomenon, I see this as <strong>the defining characteristic of subscription business models.</strong></p>
<p>To say revenue "recurs" is merely to say revenue today generates revenue tomorrow. Said differently, a good test of subscription revenue quality is <strong>the degree to which it persists and predicts future revenue</strong>.</p>
<p>In that light, these results are expected. If a change in revenue today didn't predict a change in revenue tomorrow, it'd be hard to call it recurring.</p>
<p>For some intuition, look at those <a href="https://thetaclv.com/resource/c3/">cohort revenue charts</a> that have become so popular among public software companies (at least among those with good retention dynamics to show off):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516059837-Pasted-image-20220910172026.png" alt="Pasted-image-20220910172026"></p>
<p>Missing a quarter means losing a slice of the cohort stack. Assuming positive net dollar retention, that slice would have grown over time; the opportunity cost of weak performance grows over time.</p>
<p>Ironically, a miss for a company with high retention hurts more than one for a company with low net retention, since the high retention company has more (future revenue) to lose. I examined this phenomenon from a slightly different angle a few years back:</p>
<blockquote>
<p>Both in theory and in practice, <strong>better retention drives higher volatility</strong> – <a href="https://whoisnnamdi.com/high-retention-high-volatility/">"High Retention = High Volatility"</a></p>
</blockquote>
<p><strong>This is why SaaS beats and misses are so consequential.</strong></p>
<p>If investors think a miss or beat is likely to stick, that will meaningfully impact their valuation views, as it must. On the other hand, the stock shouldn't move much if short-term performance reflects merely temporary dynamics in a company's go-to-market engine.</p>
<p>That SaaS valuations tend to react so strongly implies investors do believe these GTM gyrations are permanent and must be reflected in future projections. It's possible there's some mean reversion happening under the hood, but this effect is totally swamped by the magnitude and persistence of the beat/miss itself.</p>
<h2>Revision of the mean</h2>
<p>A bad reaction to this analysis would be: your sales leader says the quarter came in light because some deals slipped, you look them in the eyes and confidently tell them "there's no such thing as a deal slipping," and point them to this essay.</p>
<p><strong>No.</strong> That's not what I'm saying at all. (Please do send them this essay though!)</p>
<p>At the level of individual sales, deals slip from one quarter to another all the time. But at the level of aggregate revenue that doesn't seem to matter. Revenue won't be higher next quarter simply because revenue came in low this quarter. Every quarter is, for the most part, a blank slate.</p>
<p>Likewise with pulling forward revenue – it happens, but on average you can't find it in the data. COVID is a good exception to this – companies that benefitted from the transition to remote work like Zoom or DocuSign are now slowing, reverting back to their long-run trend line:</p>
<blockquote>
<p>While DocuSign beat revenue expectations last quarter, full-year guidance came in far lower than expected. DocuSign… was perceived to be a "COVID winner." There are now fears that the company merely pulled forward years of sales over the course of the past two years, and that its revenue growth trajectory will be lower going forward. (<a href="https://www.theglobeandmail.com/investing/markets/stocks/APPN-Q/pressreleases/7587079/why-snowflake-appian-and-twilio-plunged-today-again/">Link</a>)</p>
</blockquote>
<blockquote>
<p>While Coupa's upside certainly isn't at risk long term, it does appear some of its future growth was pulled forward during the COVID-19 crisis. (<a href="https://www.nasdaq.com/articles/down-over-30-is-coupa-software-stock-a-buy-2021-03-27">Link</a>)</p>
</blockquote>
<blockquote>
<p>Unfortunately for Twilio, it belongs to the “high beta growth” club, which began a secular decline early last year. The San Francisco-based Cloud Communications company boomed from the work-from-home trend... But, like so many other tech companies, it pulled forward too many gains, setting itself up for a nasty re-pricing. (<a href="https://finance.yahoo.com/news/trade-twilio-stock-wednesday-earnings-175540896.html">Link</a>)</p>
</blockquote>
<p><strong>Note:</strong> this analysis only includes software companies. Businesses with more transactional business models probably see less persistence and more mean reversion. Think about companies like Peloton:</p>
<ul>
<li>Despite having a subscription service, the vast majority of revenue was in physical bike sales that are one-time in nature</li>
<li>Peloton really did pull forward demand, which left little market left to grow into by the time things returned to normal</li>
</ul>
<p>However, if you have significant recurring revenue, mean reversion is much less relevant.</p>
<p>This analysis continues a line of thinking I touched on in a <a href="https://whoisnnamdi.com/covid-hurt-software/">prior piece</a> exploring COVID's impact on software companies:</p>
<blockquote>
<p>… mean reversion is a strong force, but <strong>COVID was stronger</strong>, especially on the downside. Once knocked down, the typical software business never got back up…</p>
<p><em>Mean revision</em> is at least as important as mean reversion. Not only are software companies below their pre-COVID trend, <em>the trend itself</em> has changed for the worse – <a href="https://whoisnnamdi.com/covid-hurt-software/">COVID Hurt Most Software Companies</a></p>
</blockquote>
<p>For software companies, every day is <a href="https://s2.q4cdn.com/299287126/files/doc_financials/annual/Shareholderletter97.pdf">Day 1</a> or, at least, dependent on it.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Layoffs Don't Tell the Whole Story]]>
                        </title>
                        <description>
                            <![CDATA[Hiring freezes matter more than layoffs]]>
                        </description>
                        <link>https://whoisnnamdi.com/layoffs/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/layoffs/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 31 Aug 2022 11:00:43 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512280834-exit.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Layoffs grab headlines. Hiring freezes, less so.</p>
<p>Sites like <a href="https://layoffs.fyi/">layoffs.fyi</a> track layoffs in gory detail, as do journalists and tech writers:</p>
<blockquote>
<p>Large layoff rounds in tech, sadly, are still on.</p>
<p>Olive AI let go ~30% of staff. They were one of the biggest unicorns in the Midwest (valued $4B)</p>
<p>Capsule (digital pharmacy startup, valued >$1B) had large layoffs. I'm still not sure of the exact % here (feel free to DM)</p>
<p>— Gergely Orosz (@GergelyOrosz) <a href="https://twitter.com/GergelyOrosz/status/1549765632790601729?ref_src=twsrc%5Etfw">July 20, 2022</a></p>
</blockquote>
<p>However, it's slow hiring, not layoffs, that most drives unemployment.</p>
<p>Layoffs don't tell the whole story.</p>
<h2>Stocking up</h2>
<p>Employment and unemployment are both "stocks".</p>
<p>Stocks are quantities measured at a point in time that change over time. For example:</p>
<ul>
<li>The volume of water in a lake</li>
<li>The stock (hint hint) of inventory in a retail store</li>
<li>Cash on a company's balance sheet</li>
</ul>
<p>On the other hand, "flows" are rates of change of a particular stock. For example:</p>
<ul>
<li>Water from various rivers flowing (hint hint) into a lake</li>
<li>Shipments of new inventory</li>
<li>A startup's monthly burn rate</li>
</ul>
<p>A single stock can have multiple associated flows, and the sum total of these flows determines how the stock changes over time.</p>
<p>In the labor market, workers flow between employment and unemployment (stocks) at various rates (flows):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516048820-SCR-20220831-4nv.png" alt="SCR-20220831-4nv"></p>
<p>In equilibrium, the various stocks of a closed system are stable. However, if the individual flows change, the related stocks change too:</p>
<ul>
<li>During recessions, flows from employment to unemployment (job separation) increase, while the flows out of unemployment into employment (job finding) decrease</li>
<li>Vice versa for recoveries – people find jobs more quickly and fewer people get laid off in the first place</li>
</ul>
<p>In this way, variation in job separation and job finding "explain" changes in unemployment.</p>
<h2>As the labor market cools, hiring freezes</h2>
<p>We commonly associate unemployment with layoffs. During recessions, we imagine heartless employers suddenly laying off droves of workers:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516022285-CleanShot-2022-08-18-at-12.54.17%402x.png" alt="CleanShot-2022-08-18-at-12.54.17@2x"></p>
<p>While this story feels intuitive, the data doesn't bear this out.</p>
<p>The below chart plots the U.S. "employment exit rate" (a euphemism for layoffs or voluntary quitting that ends in unemployment) along with the unemployment rate itself. Think about the exit rate as the share of all employed workers who leave employment each quarter:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516032584-exit-1.png" alt="exit-1"></p>
<p>Employment exits jiggle up and down at a much higher frequency than unemployment, and the timing of those short term fluctuations doesn't align well with granular movements in unemployment. Over longer periods though, they do seem loosely connected.</p>
<p>Now let's look at the other piece of the puzzle. Here, I've swapped out employment exit for the "job finding rate," i.e. the proportion of unemployed workers who find a job each quarter:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516037607-job.png" alt="job"></p>
<p><strong>The lines perfectly mirror each other.</strong></p>
<p>The fluctuations closely track the state of the economy. When job finding plummets, unemployment rises at the same time. As the economist Robert Shimer put it:</p>
<blockquote>
<p>… a decline in the job finding rate… contributed to every increase in the unemployment rate during the post-war period – <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1014798">Reassessing the Ins and Outs of Unemployment</a></p>
</blockquote>
<p>As the job finding rate slowly recovers, so does unemployment.</p>
<p>So, rather than massive layoffs defining recessions and spikes in unemployment, the more powerful explanatory story is one of hiring freezes – employers simply stop hiring during recessions.</p>
<p>Per our stocks-and-flows model, the stock of unemployed workers grows and shrinks primarily due to variation in the <em>outflow</em> from unemployment to employment rather than the <em>inflow</em> of employment to unemployment.</p>
<p>In other words, <strong>hiring freezes are the real story</strong>, not layoffs.</p>
<h2>Hiring or firing?</h2>
<p>What's the relative importance of hiring freezes vs layoffs?</p>
<p>Here's how we can estimate this:</p>
<ul>
<li>Let's say we hold variable A constant and allow variable B to move around. If unemployment still moves around a lot then we know most of its variation is driven by variable B</li>
<li>Similar logic applies in the opposite scenario (allowing A to fluctuate while holding B constant)</li>
</ul>
<p>This table quantifies the relative contributions of job entry and exit rates to overall unemployment variability by calculating counterfactual scenarios in which either variable is held constant while the other is allowed to fluctuate. The first row holds job separation constant and the second holds job finding constant (<a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1014798">Source</a>):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516047178-Pasted-image-20220814173836.png" alt="Pasted-image-20220814173836"></p>
<p>The result?</p>
<blockquote>
<p>... since 1987, including the recessions in 1990–1991 and 2001, and 2008–2009, the job finding rate accounted for virtually all fluctuations in the unemployment rate – <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=1014798">Reassessing the Ins and Outs of Unemployment</a></p>
</blockquote>
<p><strong>The job finding rate explains the vast majority of variation in unemployment</strong>, and the proportion has only increased over time.</p>
<p>From 1987 to 2010, <strong>variation in the job finding rate explained 90% of the variance in unemployment,</strong> while employment exit only explained 10%.</p>
<p>Here's Shimer again:</p>
<blockquote>
<p>The bulk of the reason unemployment rises and stays high throughout the recovery is because the unemployed workers stay unemployed for longer…</p>
</blockquote>
<p>This is precise, quantitative evidence for the overwhelming importance of hiring over firing in explaining unemployment.</p>
<h2>Hyper-(de)growth</h2>
<p>If the prior data seemed counterintuitive, the following example shouldn't.</p>
<p>Imagine you're a high-growth startup with big ambitions to grow the employee base in the coming year:</p>
<ul>
<li>You are currently 100 employees</li>
<li>You want to hire an additional 100 people over the next year</li>
<li>We ignore voluntary attrition just to keep the numbers simple</li>
</ul>
<p>Suddenly, the environment changes:</p>
<ul>
<li>Economic conditions worsen, capital gets tighter, you start to miss plan, etc</li>
<li>You need to make cuts, both in the current employee base <em>and</em> the future one</li>
<li>So, you lay off 20% of the team</li>
</ul>
<p>This is extremely painful, demoralizing, and controversial, only made easier by the fact that everyone else is doing it too:</p>
<blockquote>
<p>My sense is that it's partly - "if we layoff people at the same time everyone else does, it'll look more like bad market conditions were to blame and less like we've ran this thing poorly"</p>
<p>i.e. if everyone stampedes at the same time, no one is to blame for trampling anyone</p>
<p>— Nnamdi Iregbulem (@whoisnnamdi) <a href="https://twitter.com/whoisnnamdi/status/1522354980111347712?ref_src=twsrc%5Etfw">May 5, 2022</a></p>
</blockquote>
<p>You also institute a hiring freeze, which only seems fair after laying off so many team members:</p>
<blockquote>
<p>3. Immediately re-hiring after layoffs paints the picture of leadership of what it is:</p>
<p>Incompetent.</p>
<p>Couldn't even figure out what % of people to lay off.</p>
<p>— Gergely Orosz (@GergelyOrosz) <a href="https://twitter.com/GergelyOrosz/status/1545358652424568833?ref_src=twsrc%5Etfw">July 8, 2022</a></p>
</blockquote>
<p>It doesn't take an HR savant to realize you aren't going to hit your original 200 headcount target for next year.</p>
<p>Now do the gap analysis – between layoffs and slowed hiring, which is more responsible for missing the original headcount target?</p>
<p>It's the hiring freeze of course!</p>
<ul>
<li>You laid off 100 x 20% = 20 people</li>
<li>Meanwhile, you cut the hiring plan from 100 to zero</li>
</ul>
<p>In effect, you "fired" or "laid off" 100 <em>future</em> employees while only laying off 20 <em>current</em> ones:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516050372-SCR-20220831-4vs.png" alt="SCR-20220831-4vs"></p>
<p>As one founder friend whose recent layoff was leaked on social media told me:</p>
<blockquote>
<p>Sure, the layoff news leaked, but when we modeled this stuff out we realized it's the reduced hiring that would save us the most cash.</p>
</blockquote>
<p>A hiring freeze is a <strong>much</strong> bigger story, even if the media only reports layoffs:</p>
<ul>
<li>Internally, management knows the hiring freeze will have a larger impact on team velocity (and, frankly, cash burn) than the layoffs.</li>
<li>Yet externally, everyone will focus on the layoffs.</li>
</ul>
<p>This misses the raging forest fire for the merely singed trees.</p>
<h2>A new perspective</h2>
<p>Recognizing the importance of hiring freezes should change your focus regardless of whether you're a founder or an employee.</p>
<p>As a tech worker:</p>
<ul>
<li>The biggest risk you face in an economic downturn is not so much losing your current job but instead <strong>being unable to find a new one</strong> (due to hiring freezes)</li>
<li>In addition, as you assess the viability of various startups, pay equal, if not more, attention to slowed hiring at the company than highly visible layoffs</li>
<li>When interviewing, ask about the hiring plan and how it's changed in recent quarters</li>
</ul>
<p>If you're a founder:</p>
<ul>
<li>Slowed hiring is the real sign of weakness and vulnerability in your competition</li>
<li>Even with no layoffs, your competitors could be in a dire financial straits, necessitating a complete freeze in hiring</li>
<li>If you're well-capitalized, your biggest opportunity during a downturn isn't picking up people who were laid off (though you should definitely consider this) but rather hiring the people your competitors <em>would have wanted</em> but now can't due to hiring constraints</li>
</ul>
<h2>Lay off the layoffs</h2>
<p>Layoffs are a noisy estimate of company performance:</p>
<ul>
<li>Layoffs are tainted with worries about public perception and internal morale, making otherwise troubled companies hesitant to do them</li>
<li>Companies conduct layoffs during downturns in part because everyone else is doing it, and they know they won’t look as bad if they move with the herd</li>
</ul>
<p>Hiring freezes are a clean signal of a viability and confidence of management:</p>
<ul>
<li>Few companies would cut back on their hiring plans <em>simply to fit in</em></li>
<li>If anything, knowing others are pulling back makes companies <em>more</em> aggressive in hiring</li>
</ul>
<p>That said, hiring freezes are opaque from the outside:</p>
<ul>
<li>Outside of large organizations, most never publicly announce hiring freezes</li>
<li>In many cases, hiring freezes aren't even openly discussed <em>internally</em> outside of the core executive team and the board of directors</li>
</ul>
<p>Keep in mind both the seen <em>and</em> the unseen. It's easy to focus on the shock and awe of layoffs, but you miss so much in doing so.</p>
<p>Layoffs aren't even half the story – they're 10% of it.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[COVID Hurt Most Software Companies]]>
                        </title>
                        <description>
                            <![CDATA[COVID put software companies on a permanently lower growth trajectory.]]>
                        </description>
                        <link>https://whoisnnamdi.com/covid-hurt-software/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/covid-hurt-software/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 02 Aug 2022 15:25:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512277694-mm.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>COVID hurt most software companies.</p>
<p>While many <a href="https://www.mckinsey.com/business-functions/strategy-and-corporate-finance/our-insights/how-covid-19-has-pushed-companies-over-the-technology-tipping-point-and-transformed-business-forever">claim</a> COVID accelerated technology adoption and digital transformation, this didn't show up in the revenue of most software vendors.</p>
<p>In fact, the typical public software company remains 10-12% below its pre-COVID revenue trend, and the gap is only widening.</p>
<p><strong>COVID put most software companies on a permanently lower growth trajectory.</strong></p>
<h2>A few case studies</h2>
<p>The COVID shock generated divergent outcomes across software companies.</p>
<p>Let's focus on three examples to see what I mean: Zoom, Cloudflare, and Splunk.</p>
<p>The solid lines below represent the (<a href="https://people.duke.edu/~rnau/411log.htm">log-transformed</a>) quarterly revenue of each company. The dashed line represents a constant-growth linear trend based on their two-year <em>pre-COVID</em> revenue trajectory. Since the scale is in logs, straight lines imply <em>constant quarter-over-quarter growth</em>:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516052426-trends.png" alt="trends"></p>
<p>We see some interesting behavior as we cross the dashed line, which represents Q4 2019, the last quarter before COVID struck:</p>
<ul>
<li><strong>Zoom</strong> immediately takes off, "zooming" above its pre-COVID trend as millions move to online communication. The trend eventually catches up</li>
<li><strong>Cloudflare</strong> is totally in the clouds, floating along like nothing happened, perfectly matching its pre-COVID trend of constant, exponential growth</li>
<li><strong>Splunk</strong> exhibits strong seasonality, so the initial decline is no surprise. However, it never recovers to trend, even two years later. Splunk got dunked</li>
</ul>
<p>These symptoms run the gamut from manic to lethargic. Clearly, COVID was not a tide that raised all boats.</p>
<h2>Mean reversion, or mean revision?</h2>
<p>We can repeat the above analysis for all public software companies with enough data to establish a two-year pre-COVID trend. Given the different revenue scales, for visualization purposes let's normalize by dividing each company's actual performance by its extrapolated trend. This gives us the relative revenue performance of each vs. trend:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516025435-deviation.png" alt="deviation"></p>
<p>Each line represents performance vs. trend for one of fifty different public software companies.</p>
<p>With this we can begin to see the rich variety of post-COVID outcomes. Let's highlight our three case studies once more:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516029909-equal.png" alt="equal"></p>
<ul>
<li>Notice how dramatic and unrepresentative Zoom is among all software companies. <strong>Zoom peaks at ~150% above trend</strong> before gliding back down to Earth</li>
<li>On the other hand, Splunk comes out as one of the worst performers, among others like Alteryx and Benefitfocus</li>
</ul>
<p>There's a lot going on here, making it difficult to get a sense of the underlying distribution. Let's flip the axes and look at it a different way:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516027374-dispersion.png" alt="dispersion"></p>
<p>The above chart plots histograms of performance relative to trend across public software companies from Q1 2020 onward:</p>
<ul>
<li>Upon impact, performance is normally distributed, centered somewhat below zero</li>
<li>Over the subsequent quarters, the distribution <em>shifts left and widens</em>, implying worse outcomes and greater dispersion between companies</li>
<li>By eight quarters out, <strong>performance is unambiguously below trend</strong>, while variance continues to grow</li>
</ul>
<p>Notice the skew: <strong>a handful of winners among a majority of losers.</strong></p>
<p>Another way to look at the data is to calculate the proportion of software companies that climbed above their pre-COVID trend over time:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516019765-aversion.png" alt="aversion"></p>
<ul>
<li>Initially, only a quarter of software vendors were above trend</li>
<li>One year out, one-third of companies have returned to trend</li>
<li>The proportion stabilizes thereafter. <strong>Mean reversion is over</strong></li>
</ul>
<p><em>This is interesting.</em> As dispersion grew in the first year of the pandemic, some companies returned to their pre-COVID trend. After these initial quick recoveries, however, <strong>mean reversion completely shuts down.</strong> The last lifeboats cast off, and if you aren't onboard, you're <a href="https://nftska.com/what-is-the-meaning-of-ngmi-and-wagmi-nft-terminology/">ngmi</a>.</p>
<p>A key point I want to drive home: mean reversion is a strong force, but <strong>COVID was stronger</strong>, especially on the downside. Once knocked down, the typical software business never got back up.</p>
<h2>Weakness, in numbers</h2>
<p>Finally, let's summarize those performance distributions by their means and medians:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516039839-mm-1.png" alt="mm-1"></p>
<p>This is what I've been building up to – <strong>COVID materially impaired the typical software company, knocking it off trend</strong>:</p>
<ul>
<li>On average, software companies were down <strong>~5% relative to trend 4 quarters out and down ~10% 8 quarters after impact</strong></li>
<li>The median dampens the impact of outliers like Zoom. Notice, median performance is <em>even worse</em>, <strong>~7.5% at 4 quarters and ~12.5% at 8 quarters</strong></li>
<li>Meanwhile, underperformance relative to trend is still increasing. The gap between actual revenue and trend is growing ~4% per year</li>
</ul>
<p>Thus, COVID's impact was not transitory: <strong>COVID permanently reduced the annual growth rate of public software companies by 4 percentage points.</strong></p>
<p><em>Mean revision</em> is at least as important as mean reversion. Not only are software companies below their pre-COVID trend, <em>the trend itself</em> has changed for the worse.</p>
<h2>Conclusion: Conflation</h2>
<p>I think there's been a massive conflation between:</p>
<ol>
<li>the equity returns of software companies during the first year and half of COVID (exceptional, but temporary),</li>
<li>the financial performance of a select few COVID beneficiaries like Zoom (again, exceptional, but transitory), and</li>
<li>the business performance of the broader software market (poor, and durably so)</li>
</ol>
<p>The temporarily exuberant stock prices of most software companies distracted from the toll COVID took on business performance. While investors got high on the Fed's supply, businesses themselves were silently suffocating.</p>
<p>This corroborates the findings of my <a href="https://whoisnnamdi.com/dark-matter/">last essay</a>, where I explored how the mysterious "GDP factor" explains some the the "dark matter" in software valuations:</p>
<blockquote>
<p>Despite some claims to the contrary, investors believe software companies are quite sensitive to the broader macroeconomic environment. In fact, it's the variable that correlates <em>most highly</em> with valuations after accounting for the individual financial performance of each company – <a href="https://whoisnnamdi.com/dark-matter/">The Dark Matter of Software Valuations</a></p>
</blockquote>
<p>Here again, I find that software companies are sensitive to economic conditions, even in a best case scenario that supposedly favored them. "Digital transformation" can't come quickly enough it seems.</p>
<p>So let's set the record straight: <strong>COVID left a nasty scar on us all, software companies included.</strong></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Dark Matter of Software Valuations]]>
                        </title>
                        <description>
                            <![CDATA[Exploring the vast "dark matter" of the software universe]]>
                        </description>
                        <link>https://whoisnnamdi.com/dark-matter/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/dark-matter/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 19 Jul 2022 09:56:45 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512275936-varexp-1.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>There's something strange about software valuations.</p>
<p>Investors tend to focus on <a href="https://whoisnnamdi.com/rule-40/">revenue growth and profitability</a> as significant variables for valuing software companies, but those metrics only explain about <em>half</em> of the overall variation in valuations.</p>
<p>This leaves a vast amount of "dark matter" in the software universe – variation in valuations that goes <em>unexplained</em>.</p>
<p>I want to explore this vast darkness.</p>
<h2>Who knew there was such skew?</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515993502-avg.png" alt="avg"><br>
<em>Note: this analysis only includes public software companies that traded continuously from January 2020 to May 2022. Companies that went public or got acquired during that period are excluded.</em></p>
<p>It's been said before, and it's worth repeating: <strong>averages don't tell the whole story.</strong></p>
<p>You can begin to see why by plotting average revenue multiples against median multiples. <em>They aren't the same.</em></p>
<p>In fact, the distance between them tends to fluctuate over time.</p>
<ul>
<li>In the lead up to COVID they were quite close</li>
<li>Then, they grew apart</li>
<li>Only recently, they've gravitated closer again</li>
</ul>
<p>A single line at best summarizes the data and invariably misses important details.</p>
<p>Let's zoom in:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516002387-muldist.png" alt="muldist"></p>
<p>Like <a href="https://whoisnnamdi.com/software-fat-tailed/">software monetization</a>, software valuations are <a href="https://en.wikipedia.org/wiki/Fat-tailed_distribution">fat-tailed</a>:</p>
<ul>
<li>Most companies have unremarkable valuation multiples</li>
<li>A few, however, skew well to the right, creating a long tail of multiples</li>
</ul>
<p>This tail skews the distribution of multiples and increases the variance between public software companies. I'd imagine the situation is even more extreme among private software companies.</p>
<p>That variance changes over time, rising and falling:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516003551-mulvar.png" alt="mulvar"></p>
<p><em>Note: for statistical reasons I won't explain here, the remainder of this essay will refer to log-transformed software multiples instead of their raw values.</em></p>
<p>I'd love to explain this dynamic.</p>
<p>It's at this point that any good software investor turns to ol' reliable: regressions of valuation multiples on revenue growth and profitability:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515998258-gm.png" alt="gm"></p>
<p>We see a similar, if subdued, pattern in the variance that can be explained by financial performance. But notice how much variance our standard regression leaves on the table, unexplained.</p>
<p>Growth and profitability do not perfectly predict valuations.</p>
<p>I call this unexplained variance, the "dark matter" of software valuations:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516016023-varexp.png" alt="varexp"></p>
<p>Growth and profitability never explain much more than half of the variation in multiples:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516007392-pvarexp.png" alt="pvarexp"></p>
<p>What's hiding down in the deep, dark depths of the software universe?</p>
<p>Let's grab our telescope and zoom in once again.</p>
<h2>Stranger things (and valuations)</h2>
<p>We know that growth and profitability are imperfect predictors of valuation.</p>
<p>Let's remove their effect and focus now on the remaining, residual, variance in valuations. This means that we'll focus on relative rather than absolute valuations – relative to what growth and margins would predict, that is.</p>
<p>Here's how it looks:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516010310-resdist.png" alt="resdist"></p>
<p>The fat tail is less severe but still persists, even after accounting for financial performance.</p>
<p>Many companies hover near zero, which is to say their valuations are perfectly predicted by growth and profitability, but a number are quite "overvalued" on the basis of their financials alone.</p>
<p>This gap between expectations and reality is quite persistent. Over/undervaluation <em>does not</em> meaningfully mean-revert, even over multiple years:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516014439-resplot.png" alt="resplot"></p>
<ul>
<li>A 50% overvalued company in January 2020 by May 2022 still traded <strong>~40% above</strong> the valuation implied by its growth and profitability</li>
<li>A 50% undervalued company continued to sag <strong>~35% below</strong> its predicted valuation by the end of this period</li>
</ul>
<p>Some did see major revisions:</p>
<ul>
<li>Shopify, Okta, Coupa, DocuSign, and RingCentral all fell back down to Earth after flying high for some time</li>
<li>Cloudflare, Appian, Alteryx, MongoDB, Atlassian, Anaplan, and Guidewire all ended up much higher than where they were pre-COVID</li>
</ul>
<p>In addition to individual companies, the overall distribution of unexplained "valuation inequality" held in place the past few years, with some fluctuations:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516005849-percplot.png" alt="percplot"></p>
<ul>
<li>Investors value the 90th percentile company <strong>~75% more</strong> than you'd expected from its growth and profitability</li>
<li>Meanwhile, they peg the 10th percentile company <strong>~50% lower</strong> than you'd predict.</li>
<li>In terms of ratios, 90th percentile software vendors are worth <strong>3-5 times</strong> their 10th percentile peers.</li>
</ul>
<p>Remember, <em>we've already accounted for revenue growth and cash flow</em>, yet we still see massive variability:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516011874-resgm.png" alt="resgm"></p>
<ul>
<li>On the revenue side, among companies growing ~50% annually we see valuation gaps as large as <strong>~70%</strong> (i.e., same growth, yet one company is worth 70% more).</li>
<li>It's even worse for software companies growing closer to 20% year-over-year, where the gaps are even bigger: the most valuable company is worth <strong>~2.5 times</strong> the least valuable.</li>
<li>On the free cash flow side, if we look at companies within +/- 10 percentage points of breakeven, we see companies worth <strong>five times</strong> as much as the least valuable</li>
</ul>
<p>Needless to say, the variation in software valuations is extreme, and that's <em>after</em> factoring out what we'd already expect based on financial profiles.</p>
<h2>Darkness into light</h2>
<p>I hope I've driven the point home that growth and profitability aren't everything.</p>
<p>OK, but what <em>is</em> this dark matter stuff?</p>
<p>Clearly the most obvious metrics fail to account for a sizable share of the variation in valuations among software stocks. Some sort of unobserved or latent characteristics drive the remaining differences.</p>
<p><a href="https://setosa.io/ev/principal-component-analysis/">Principal Component Analysis (PCA)</a> is a great way to identify such latent factors. It's a statistical technique for summarizing the key informational content contained within a larger data set.</p>
<p>A full explanation of PCA is beyond the scope of this essay. Just know that, like alchemy, PCA lets us put dark matter in and get some nuggets of gold out.</p>
<p>When I run PCA, here's what I find:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515995345-fac.png" alt="fac"></p>
<p>PCA spits out two latent "factors" that highly explain our up-till-now unexplained valuation puzzle.</p>
<p>Unfortunately, these factors don't come out of the box with much explanation. We must interpret them manually.</p>
<p>After staring at "Factor 1" for a while, it hit me – the line looks eerily similar to the path of the U.S. economy over that period!</p>
<p>Folks, we have a winner:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515996847-gdpfac.png" alt="gdpfac"></p>
<p>Beautiful.</p>
<p>Our first hidden factor is not a particularly mysterious one.</p>
<p>Despite some claims to the contrary, investors believe software companies are quite sensitive to the broader macroeconomic environment. In fact, it's the variable that correlates <em>most highly</em> with valuations after accounting for the individual financial performance of each company.</p>
<p>The latent factor tracks the COVID recovery quite well, in some ways even better than the official GDP statistic, which is only released quarterly – a significant delay.</p>
<p>The factor provides a daily, real-time estimate of economic performance, at least that portion which is relevant for software companies (also called <a href="https://www.oecd.org/economy/weekly-tracker-of-gdp-growth/">nowcasting</a>).</p>
<p>I had less success figuring out the second factor. If you have any ideas, please send them my way!</p>
<p>With PCA, it's customary to plot the data against the first two factors, with the X and Y axes representing each company's correlation with the factor:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515999882-load.png" alt="load"></p>
<ul>
<li>Companies on the right side correlative <em>positively</em> with the GDP factor, suggesting they've benefitted disproportionately from the COVID bounce-back</li>
<li>Conversely, stocks hovering to the left had <em>less</em> to gain from the rebound</li>
</ul>
<p>I could spend (and may have already spent) hours staring at this plot. Rather than continuing to play "<a href="https://en.wikipedia.org/wiki/Where%27s_Wally%3F">Where's Waldo</a>," here are a few clusters I noticed (Q: What did I miss?):</p>
<ul>
<li><strong>Financial engineering:</strong> Developer-centric tooling and infrastructure like Datadog, Elastic, MongoDB, Atlassian, PagerDuty</li>
<li><strong>Easy storage, easy life:</strong> Storage companies Dropbox and Box</li>
<li><strong>Trust, but verify:</strong> Zero-trust and identity solutions like Okta, Ping Identity, Zscaler</li>
<li><strong>Call me maybe:</strong> Cloud-based contact center and communications companies Five9, RingCentral, 8x8</li>
</ul>
<h2>A step in the right direction</h2>
<p>Now let's come full circle and incorporate the GDP factor into our previous regression while also allowing each stock to have different sensitivity to the factor.</p>
<p>Here's what we get:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516018361-varexp2.png" alt="varexp2"></p>
<p>The GDP factor helps explain some of the mysterious "dark matter" but not always the same amount:</p>
<ul>
<li>In the weeks before COVID turned everything upside-down, the GDP factor didn't explain much variation in valuations</li>
<li>Then, as the pandemic began, the GDP factor rose in importance, granting significant predictive power</li>
<li>As the first positive results of the mRNA vaccines come out, it recedes again, and for about three quarters the GDP factor doesn't explain much over and above individual financial performance</li>
<li>Finally, as the COVID recovery finally stalls out, the GDP factor rises in importance again</li>
</ul>
<p>Here's how it looks in <a href="https://www.investopedia.com/terms/r/r-squared.asp">R-squared</a> terms:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766516009000-pvarexpfac.png" alt="pvarexpfac"></p>
<p>Still a lot of dark matter out there, but we've made great progress:</p>
<ul>
<li>At it's highest, the combination of (1) individual financial performance and (2) sensitivity to economic conditions explains ~80% of the cross-sectional variance in software valuations</li>
<li>That said, there remain times when it explains no more than 50% of valuation variance</li>
</ul>
<p>I'm fascinated by these dynamics, especially the middle period where, for whatever reason, economic sensitivity temporarily stopped mattering for how software companies were being valued, at least relative to one another.</p>
<h2>Conclusion</h2>
<p>So we've managed to chip away at some of the dark matter hiding among software valuations.</p>
<p>It's often said that the long-term growth trajectory of cloud companies is relatively secular, which is to say it's independent of general economic fluctuations.</p>
<p>It turns out software companies *are* sensitive to broader economic conditions in the short-run, at least in eyes of public investors.</p>
<p>The relevance of this sensitivity rises and falls over time:</p>
<ul>
<li>In periods of economic uncertainty (e.g. early pandemic, Q2 2022, etc), the GDP factor begins to matter quite a bit. Public investors care who gains and loses from a weakening economy.</li>
<li>Meanwhile, when times are good, investors throw caution to the wind and ignore the economic sensitivity of software companies.</li>
</ul>
<p>More sophisticated <a href="https://en.wikipedia.org/wiki/Factor_analysis">factor modeling</a> could yield even more insights. No one pays me to do that though, so I think I'll <a href="https://www.youtube.com/watch?v=waEC-8GFTP4">move on</a>.</p>
<p>If you do have thoughts on that second mystery factor, shoot me a note!</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Series A Rounds Are a Math Test]]>
                        </title>
                        <description>
                            <![CDATA[Low monetization requires extraordinary traction, and vice versa.]]>
                        </description>
                        <link>https://whoisnnamdi.com/series-a-math/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/series-a-math/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 27 Jun 2022 17:01:07 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512274243-header.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>For your seed stage startup to graduate to the next level, it must pass a new test.</p>
<p>Suddenly, a PowerPoint deck isn't enough. <em>Traction and monetization matter.</em></p>
<p>Your startup might have more of one than the other, and that's OK.</p>
<p>But less of one means you need more of the other. That's just math.</p>
<p>How much more? It turns out – more than you think.</p>
<p><strong>Low monetization requires extraordinary traction, and vice versa.</strong></p>
<h2>2 + 2 = 4</h2>
<p>In addition to factors like <em>team quality</em> and <em>market size</em> (which also matter at the pre-seed/seed stage), investors evaluate Series A startups on their <strong>traction</strong> and <strong>monetization</strong>.</p>
<p>By traction, I mean some rough mix of:</p>
<ul>
<li>bottom-up adoption</li>
<li>free usage / free trials</li>
<li>organic, inbound interest in the product</li>
<li>proliferation of an open source project</li>
<li>downloads</li>
<li>a vibrant, growing community</li>
<li>product-led growth</li>
</ul>
<p>By monetization, I'm loosely referring to:</p>
<ul>
<li>revenue (duh!)</li>
<li>customers</li>
<li>top-down / direct sales</li>
<li>production deployments</li>
<li>pilots / POCs (proofs of concept)</li>
<li>qualified pipeline</li>
</ul>
<p><em>Note: monetization is a catch-all for activities and metrics that tend to correlate with revenue, so a company with zero revenue can still have a decent monetization "score."</em></p>
<p>If traction and monetization are collectively high enough, you will successfully raise your Series A round.</p>
<p>You can even make a little equation out of this:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.466ex;" xmlns="http://www.w3.org/2000/svg" width="47.034ex" height="2.061ex" role="img" focusable="false" viewBox="0 -705 20789 911" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-46" d="M128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-1-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-1-TEX-N-7A" d="M42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="46" xlink:href="#MJX-1-TEX-N-46"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(653,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(1209,0)"></use><use data-c="64" xlink:href="#MJX-1-TEX-N-64" transform="translate(1765,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(2321,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(2713,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(3213,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(3491,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(3885,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(4163,0)"></use><use data-c="67" xlink:href="#MJX-1-TEX-N-67" transform="translate(4719,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(5219,0)"></use><use data-c="53" xlink:href="#MJX-1-TEX-N-53" transform="translate(5469,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(6025,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(6581,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(7025,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(7469,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(7913,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(8307,0)"></use></g><g data-mml-node="mo" transform="translate(8978.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(10034.6,0)"><use data-c="54" xlink:href="#MJX-1-TEX-N-54"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(722,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(1114,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(1614,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(2058,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2447,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(2725,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(3225,0)"></use></g><g data-mml-node="mo" transform="translate(14037.8,0)"><use data-c="2B" xlink:href="#MJX-1-TEX-N-2B"></use></g><g data-mml-node="mtext" transform="translate(15038,0)"><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(917,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(1417,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1973,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(2417,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2806,0)"></use><use data-c="7A" xlink:href="#MJX-1-TEX-N-7A" transform="translate(3084,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(3528,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(4028,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(4417,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(4695,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(5195,0)"></use></g></g></g></svg></mjx-container>
<p>There's a threshold, a sort of activation energy, required to successfully raise a round at the early-stage. Hit this bar and you're in the clear. Miss it, and you're not:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515981778-1.png" alt="1"></p>
<p>Let's make up some numbers.</p>
<p>Say the threshold is "4". You'd need some combination of traction and monetization to get to a sum of four:</p>
<ul>
<li>A score of two on both traction and monetization would work. We could call that "moderate traction and moderate monetization", or (2, 2)</li>
<li>But a (3, 1) combo would also work – perhaps "high traction, low monetization", and so on.</li>
</ul>
<p>As long as you can get to a total of four, you're good.</p>
<h2>2 x 2 = 4</h2>
<p>What if our model is wrong though?</p>
<p>Imagine investors evaluate your startup not on the <em>sum</em> of traction and monetization, but rather the <em>product</em>. In other words, traction and monetization multiply, rather than add:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.466ex;" xmlns="http://www.w3.org/2000/svg" width="47.034ex" height="2.061ex" role="img" focusable="false" viewBox="0 -705 20789 911" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-N-46" d="M128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619Z"></path><path id="MJX-2-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-2-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-2-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-2-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-2-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-2-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-2-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-2-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-2-TEX-N-20" d=""></path><path id="MJX-2-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-2-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-2-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-2-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-2-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-2-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-2-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-2-TEX-N-D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path><path id="MJX-2-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-2-TEX-N-7A" d="M42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="46" xlink:href="#MJX-2-TEX-N-46"></use><use data-c="75" xlink:href="#MJX-2-TEX-N-75" transform="translate(653,0)"></use><use data-c="6E" xlink:href="#MJX-2-TEX-N-6E" transform="translate(1209,0)"></use><use data-c="64" xlink:href="#MJX-2-TEX-N-64" transform="translate(1765,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(2321,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(2713,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(3213,0)"></use><use data-c="73" xlink:href="#MJX-2-TEX-N-73" transform="translate(3491,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(3885,0)"></use><use data-c="6E" xlink:href="#MJX-2-TEX-N-6E" transform="translate(4163,0)"></use><use data-c="67" xlink:href="#MJX-2-TEX-N-67" transform="translate(4719,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(5219,0)"></use><use data-c="53" xlink:href="#MJX-2-TEX-N-53" transform="translate(5469,0)"></use><use data-c="75" xlink:href="#MJX-2-TEX-N-75" transform="translate(6025,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(6581,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(7025,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(7469,0)"></use><use data-c="73" xlink:href="#MJX-2-TEX-N-73" transform="translate(7913,0)"></use><use data-c="73" xlink:href="#MJX-2-TEX-N-73" transform="translate(8307,0)"></use></g><g data-mml-node="mo" transform="translate(8978.8,0)"><use data-c="3D" xlink:href="#MJX-2-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(10034.6,0)"><use data-c="54" xlink:href="#MJX-2-TEX-N-54"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(722,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(1114,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(1614,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(2058,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(2447,0)"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(2725,0)"></use><use data-c="6E" xlink:href="#MJX-2-TEX-N-6E" transform="translate(3225,0)"></use></g><g data-mml-node="mo" transform="translate(14037.8,0)"><use data-c="D7" xlink:href="#MJX-2-TEX-N-D7"></use></g><g data-mml-node="mtext" transform="translate(15038,0)"><use data-c="4D" xlink:href="#MJX-2-TEX-N-4D"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(917,0)"></use><use data-c="6E" xlink:href="#MJX-2-TEX-N-6E" transform="translate(1417,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(1973,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(2417,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(2806,0)"></use><use data-c="7A" xlink:href="#MJX-2-TEX-N-7A" transform="translate(3084,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(3528,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(4028,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(4417,0)"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(4695,0)"></use><use data-c="6E" xlink:href="#MJX-2-TEX-N-6E" transform="translate(5195,0)"></use></g></g></g></svg></mjx-container>
<p>Through this lens, the marginal value of one factor depends on the other. Traction makes monetization more valuable, and vice versa. Monetization is more valuable when you have more traction.</p>
<p>This is a much better model for how venture investors think about startups.</p>
<p>Think about it:</p>
<ul>
<li>Strong traction makes additional monetization more valuable, since there's a preexisting, large group of interested, engaged users to sell into.</li>
<li>Strong monetization increases the value of additional traction, since you know that traction will be monetizable in the future.</li>
</ul>
<p>The multiplicative model has an important implication however – it disproportionately penalizes low traction and/or low monetization.</p>
<p>To successfully fundraise, low monetization requires extraordinary traction, and vice versa:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515982782-2.png" alt="2"></p>
<p>Here's an analogy – a stock that drops by 50% (OK, maybe more reality than analogy) must rise by much more than 50% to reach its original price level, since returns are multiplicative (50% x 150% is only 75%). Likewise, <strong>low monetization requires more than proportionally higher traction</strong> to make up for it.</p>
<p>(2, 2) still works, since 2 x 2 = 4. But the (3, 1) combination is no longer viable, since 3 x 1 only equals 3. If your startup is merely a "1" on the monetization scale, you now need to be a "4" on traction. 0.5 on monetization? You need to be an 8 on traction!</p>
<p>You can see where this is going.</p>
<h2>3 x 1 = ☠</h2>
<p>Unfortunately, founders fall into the trap of thinking low monetization or traction can be made up for with merely moderate amounts of the other factor. This is wrong.</p>
<p>Many founders think investors will evaluate them with the linear, additive model. While many investors are quite linear in their thinking (sorry, had to do it), the multiplicative perspective is the more accurate one.</p>
<p>This clash of reality vs. expectations creates a "<a href="https://en.wikipedia.org/wiki/No_man%27s_land">no man's land</a>" between the additive and multiplicative perspectives: founders think they'll be fine when they go out to fundraise, only to be rudely mugged by the valley reality:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515984294-3.png" alt="3"></p>
<p>I've noticed many startups in the space between the linear and convex curves attempting to raise Series A rounds lately. <strong>This invariably goes badly.</strong> The founders are surprised by the lack of investor interest and end up taking much longer to raise their round, at a lower valuation than expected.</p>
<p>Some never raise at all.</p>
<h2>Quick maths</h2>
<p>Avoid this needless suffering. Be honest with yourself – if you're lacking in either traction or monetization, be sure you're killing it on the other dimension.</p>
<p>I've made the point that low monetization requires extraordinary traction (and vice versa), but I haven't defined what "extraordinary" means. Frankly, it's subjective at best, and I'd be lying if I said there was an objective standard or rubric.</p>
<p>When you know, you know:</p>
<blockquote>
<p>you can always feel product/market fit when it's happening – <a href="https://pmarchive.com/guide_to_startups_part4.html">Marc Andreessen</a></p>
</blockquote>
<blockquote>
<p>… once you have product-market fit… [business] performance accelerates so meaningfully that any ambiguity goes out the window. You get it "in your gut." It becomes obvious, as nearly everything about the business gets better – <a href="https://whoisnnamdi.com/product-market-fit-is-lindy/">Product-Market Fit is Lindy</a></p>
</blockquote>
<blockquote>
<p>If it is true that product-market fit yields much better business performance, then product-market fit should be relatively obvious, even with little data – <a href="https://whoisnnamdi.com/product-market-fit-is-lindy/">Product-Market Fit is Lindy</a></p>
</blockquote>
<p>Further, I've simplified the framework here and taken other factors like team, market, etc as given. Realistically, investors will evaluate those things too, complicating our math a bit:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.466ex;" xmlns="http://www.w3.org/2000/svg" width="70.808ex" height="2.061ex" role="img" focusable="false" viewBox="0 -705 31297.3 911" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-N-46" d="M128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619Z"></path><path id="MJX-3-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-3-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-3-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-3-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-3-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-3-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-3-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-3-TEX-N-20" d=""></path><path id="MJX-3-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-3-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-3-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-3-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-3-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-3-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-3-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-3-TEX-N-D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path><path id="MJX-3-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-3-TEX-N-7A" d="M42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263Z"></path><path id="MJX-3-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-6B" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36Z"></path><path id="MJX-3-TEX-N-2026" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="46" xlink:href="#MJX-3-TEX-N-46"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(653,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(1209,0)"></use><use data-c="64" xlink:href="#MJX-3-TEX-N-64" transform="translate(1765,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(2321,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(2713,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(3213,0)"></use><use data-c="73" xlink:href="#MJX-3-TEX-N-73" transform="translate(3491,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(3885,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(4163,0)"></use><use data-c="67" xlink:href="#MJX-3-TEX-N-67" transform="translate(4719,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(5219,0)"></use><use data-c="53" xlink:href="#MJX-3-TEX-N-53" transform="translate(5469,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(6025,0)"></use><use data-c="63" xlink:href="#MJX-3-TEX-N-63" transform="translate(6581,0)"></use><use data-c="63" xlink:href="#MJX-3-TEX-N-63" transform="translate(7025,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(7469,0)"></use><use data-c="73" xlink:href="#MJX-3-TEX-N-73" transform="translate(7913,0)"></use><use data-c="73" xlink:href="#MJX-3-TEX-N-73" transform="translate(8307,0)"></use></g><g data-mml-node="mo" transform="translate(8978.8,0)"><use data-c="3D" xlink:href="#MJX-3-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(10034.6,0)"><use data-c="54" xlink:href="#MJX-3-TEX-N-54"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(722,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(1114,0)"></use><use data-c="63" xlink:href="#MJX-3-TEX-N-63" transform="translate(1614,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(2058,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(2447,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(2725,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(3225,0)"></use></g><g data-mml-node="mo" transform="translate(14037.8,0)"><use data-c="D7" xlink:href="#MJX-3-TEX-N-D7"></use></g><g data-mml-node="mtext" transform="translate(15038,0)"><use data-c="4D" xlink:href="#MJX-3-TEX-N-4D"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(917,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(1417,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(1973,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(2417,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(2806,0)"></use><use data-c="7A" xlink:href="#MJX-3-TEX-N-7A" transform="translate(3084,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(3528,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(4028,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(4417,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(4695,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(5195,0)"></use></g><g data-mml-node="mo" transform="translate(21011.2,0)"><use data-c="D7" xlink:href="#MJX-3-TEX-N-D7"></use></g><g data-mml-node="mtext" transform="translate(22011.4,0)"><use data-c="54" xlink:href="#MJX-3-TEX-N-54"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(722,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(1166,0)"></use><use data-c="6D" xlink:href="#MJX-3-TEX-N-6D" transform="translate(1666,0)"></use></g><g data-mml-node="mo" transform="translate(24732.7,0)"><use data-c="D7" xlink:href="#MJX-3-TEX-N-D7"></use></g><g data-mml-node="mtext" transform="translate(25732.9,0)"><use data-c="4D" xlink:href="#MJX-3-TEX-N-4D"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(917,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(1417,0)"></use><use data-c="6B" xlink:href="#MJX-3-TEX-N-6B" transform="translate(1809,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(2337,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(2781,0)"></use></g><g data-mml-node="mo" transform="translate(29125.1,0)"><use data-c="D7" xlink:href="#MJX-3-TEX-N-D7"></use></g><g data-mml-node="mo" transform="translate(30125.3,0)"><use data-c="2026" xlink:href="#MJX-3-TEX-N-2026"></use></g></g></g></svg></mjx-container>
<p>That's a lot harder to visualize, but the same ideas apply. You need to really spike on one or more factors to make up for lower scores on the others. Get this math wrong, and you'll be in for a nasty surprise.</p>
<p>Rather than cram for the exam, delay your Series A until you pass the simple math test I've outlined here. Until then, keep practicing those multiplication tables!</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Funding Simply Shifts the Bottleneck]]>
                        </title>
                        <description>
                            <![CDATA[A frothy funding environment means more competition for talent. Funding gets easier; hiring gets harder.]]>
                        </description>
                        <link>https://whoisnnamdi.com/funding-bottleneck/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/funding-bottleneck/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Fri, 22 Apr 2022 12:56:12 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512272380-Funding-Simply-Shifts-the-Bottleneck_2022-04-18-15.51.14.excalidraw-2.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Abundant capital is not a panacea for founders.</p>
<p>For the best companies, raising large war chests along with the branding effect that comes with them can serve as an "unfair advantage" against competitors, compounding gains and maintaining pole position.</p>
<p>This unfair advantage often comes through the hiring channel, which is high-octane leverage for fast-growing companies:</p>
<blockquote>
<p><strong>The “10x” in “10x engineer” conveys leverage just as the “3x” in “3x S&#x26;P” does.</strong> As an investor, leverage can multiply the returns you receive from a great investment thesis. And similarly, if you’re a founder with a great vision, your superstar employees will help you realize it faster and better – <a href="https://www.dwarkeshpatel.com/p/talent-as-leverage">Talent as leverage</a></p>
</blockquote>
<p>For most however, <strong>a frothy funding environment means more competition for talent.</strong> If everyone is raising tons of cheap capital and plowing those funds into hiring, your job as a founder hasn't necessarily gotten easier, since presumably you'll be working that much harder to recruit against every other startup doing the same.</p>
<p>The capital "bottleneck" hasn't disappeared – it's moved to another part of the production chain. <strong>Funding gets easier; hiring gets harder.</strong></p>
<h2>Cheap money, expensive people</h2>
<p>He deleted the tweet, but <a href="https://twitter.com/laserlikemike">Mike Speiser</a> once said:</p>
<blockquote>
<p>When money is cheap, people are expensive. When money is expensive, people are cheap. #dilution</p>
</blockquote>
<p>The idea that hiring gets harder when funding gets easier (and vice versa) has two foundational components. The first one is easy, so let's get that out of the way first.</p>
<p>When companies are cash rich, they tend to spend more (*shocker*). Startups raise funding in large part to expand their teams. When the entire startup ecosystem simultaneously raises tons of capital, the additional money sloshing around inevitably shows up in the W2s of startup employees and the "voluntary churn" column of board of directors presentations. Recruiters spam the LinkedIn inboxes of every warm body in sight, and the hiring market heats up.</p>
<p>That's fairly intuitive. The second reason is much less so – discount rates.</p>
<p>Go back to the Mike Speiser quote. What does it mean for money to be "cheap?" Financial theory introduced us to the concept of the "discount rate" or equivalently the required rate of return or cost of capital. Money is "cheap" when discount rates are low, implying that investors and lenders require only a small rate of return on their investments in order to be satisfied.</p>
<p>Typically, low discount rates are associated with high valuations, since the present value of a series of cash flows rises as discount rates falls. Thus we get the frequent gyrations of the stock market, which summarize this dynamic in a single number:</p>
<blockquote>
<p>the large movements in the value of the stock market arise mainly from changes in discount rates and only secondarily from changes in the dividend or profit flow capitalized in the stock market – <a href="https://web.stanford.edu/~rehall/High%20Discounts%20and%20High%20Unemployment%20AER">High Discounts and High Unemployment</a></p>
</blockquote>
<p>It's quite natural to apply the notion of discount rates to the value of financial assets, like company equity. But why limit our thinking to financial assets?</p>
<h2>The present value of talent</h2>
<p>Discount rates apply to human capital too.</p>
<p>If you don't believe me, check out the following chart. It plots the unemployment rate over time along with the <em>inverse</em> of the detrended (i.e. accounting for the size of the U.S. economy) S&#x26;P 500 index (so down is up and vice versa). Notice the tight relationship between the two:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515964379-Pasted-image-20220126122928.png" alt="Pasted-image-20220126122928"></p>
<blockquote>
<p>Figure 2 suggests that <strong>the stock market and unemployment respond to the same underlying forces</strong>, especially in the past few decades – <a href="https://web.stanford.edu/~rehall/High%20Discounts%20and%20High%20Unemployment%20AER">High Discounts and High Unemployment</a></p>
</blockquote>
<p>You might ascribe this correlation to general economic conditions rather than discount rates, but unemployment and output per worker don't actually track each other very well:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515970179-Pasted-image-20220416164600.png" alt="Pasted-image-20220416164600"></p>
<p>To see how discount rates apply to workers in the same way they do to financial assets, imagine the net value of a worker to a company being their productivity minus their cost, i.e. wage. This "job value" takes into account all future value the worker generates along with their cost of employment, in present value terms:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="49.776ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 22001 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-4A" d="M89 177Q115 177 133 160T152 112Q152 88 137 72T102 52Q99 51 101 49Q106 43 129 29Q159 15 190 15Q232 15 256 48T286 126Q286 127 286 142T286 183T286 238T287 306T287 378Q287 403 287 429T287 479T287 524T286 563T286 593T286 614V621Q281 630 263 633T182 637H154V683H166Q187 680 332 680Q439 680 457 683H465V637H449Q422 637 401 634Q393 631 389 623Q388 621 388 376T387 123Q377 61 322 20T194 -22Q188 -22 177 -21T160 -20Q96 -9 61 29T25 110Q25 144 44 160T89 177Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-50" d="M130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488Z"></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-A0" d=""></path><path id="MJX-1-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-1-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-76" d="M338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338Z"></path><path id="MJX-1-TEX-N-79" d="M69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66Z"></path><path id="MJX-1-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-1-TEX-N-57" d="M792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792Z"></path><path id="MJX-1-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-1-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="4A" xlink:href="#MJX-1-TEX-N-4A"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(514,0)"></use><use data-c="62" xlink:href="#MJX-1-TEX-N-62" transform="translate(1014,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(1570,0)"></use><use data-c="56" xlink:href="#MJX-1-TEX-N-56" transform="translate(1820,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(2570,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(3070,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(3348,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(3904,0)"></use></g><g data-mml-node="mo" transform="translate(4625.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(5681.6,0)"><use data-c="50" xlink:href="#MJX-1-TEX-N-50"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(681,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1073,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(1517,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1911,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(2355,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(2911,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3300,0)"></use><use data-c="56" xlink:href="#MJX-1-TEX-N-56" transform="translate(3550,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(4300,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(4800,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(5078,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(5634,0)"></use><use data-c="A0" xlink:href="#MJX-1-TEX-N-A0" transform="translate(6078,0)"></use></g><g data-mml-node="mo" transform="translate(12009.6,0)"><use data-c="28" xlink:href="#MJX-1-TEX-N-28"></use></g><g data-mml-node="mtext" transform="translate(12398.6,0)"><use data-c="50" xlink:href="#MJX-1-TEX-N-50"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(681,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(1073,0)"></use><use data-c="64" xlink:href="#MJX-1-TEX-N-64" transform="translate(1573,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(2129,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(2685,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(3129,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(3518,0)"></use><use data-c="76" xlink:href="#MJX-1-TEX-N-76" transform="translate(3796,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(4324,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(4602,0)"></use><use data-c="79" xlink:href="#MJX-1-TEX-N-79" transform="translate(4991,0)"></use></g><g data-mml-node="mo" transform="translate(18139.8,0)"><use data-c="2212" xlink:href="#MJX-1-TEX-N-2212"></use></g><g data-mml-node="mtext" transform="translate(19140,0)"><use data-c="57" xlink:href="#MJX-1-TEX-N-57"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(1028,0)"></use><use data-c="67" xlink:href="#MJX-1-TEX-N-67" transform="translate(1528,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(2028,0)"></use></g><g data-mml-node="mo" transform="translate(21612,0)"><use data-c="29" xlink:href="#MJX-1-TEX-N-29"></use></g></g></g></svg></mjx-container>
<p>Job value tends to increase during booms, for two reasons:</p>
<ol>
<li>Discount rates are low, which inflates present value calculations,</li>
<li>Productivity is more variable than wages, which tend to be sticky</li>
</ol>
<p>Thus, the present value of productivity moves up and down by more than wages, driving job value up or down with the market cycle:</p>
<blockquote>
<p><strong>A higher discount lowers the job value</strong>… The present value of the wage moves in the same direction as productivity, but less than in proportion. In this sense, the wage is sticky. Because the wage falls less than productivity, the job value… falls more than in proportion to the fall in productivity – <a href="https://web.stanford.edu/~rehall/High%20Discounts%20and%20High%20Unemployment%20AER">High Discounts and High Unemployment</a></p>
</blockquote>
<p>Naturally, the higher the "job value," the more eager employers are to hire workers. We get cutthroat competition among employers during good economic times and workers being dropped like hot potatoes during bad times. When the present value of hiring an additional worker is high, employers clamor to grow their ranks.</p>
<p>It's possible to use economic data to estimate job value across the entire U.S. economy. <strong>Job value and the stock market move together in lockstep</strong>:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515965678-Pasted-image-20220126125737.png" alt="Pasted-image-20220126125737"></p>
<blockquote>
<p>The similarity of the job value and the stock market value is remarkable. The figure strongly confirms the hypothesis that <strong>similar forces govern the market values of claims on jobs and claims on corporations</strong> – <a href="https://web.stanford.edu/~rehall/High%20Discounts%20and%20High%20Unemployment%20AER">High Discounts and High Unemployment</a></p>
</blockquote>
<p>The up and down movement of job value is incredibly consistent across industries too:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515967280-Pasted-image-20220416154129.png" alt="Pasted-image-20220416154129"></p>
<blockquote>
<p>The strikingly similar responses in diverse industries strongly supports the hypothesis that an aggregate driving force dominates the movements of the job value at the industry level. <strong>This evidence points in the direction of aggregate forces such as rising discounts in recessions</strong> – <a href="https://web.stanford.edu/~rehall/High%20Discounts%20and%20High%20Unemployment%20AER">High Discounts and High Unemployment</a></p>
</blockquote>
<h2>When hiring falls apart</h2>
<p><strong>When interest rates are low, leverage becomes more attractive.</strong> Although the venture capital world likes to think of itself as distinct from debt-laden private equity land, in fact technology startups engage in all sorts of leverage, especially during boom times. I talked about one form of it, <a href="https://whoisnnamdi.com/schrodingers-balance-sheet/">preferred equity</a>, in a prior essay:</p>
<blockquote>
<p>In this way, startups become <strong>synthetically levered</strong>. No debt appears on the balance sheet, yet the returns of the common equity (any really anyone below the most senior preferred stock) get juiced by the lower cost of capital achieved via preferred equity – <a href="https://whoisnnamdi.com/schrodingers-balance-sheet/">Schrodinger's Balance Sheet: When Equity Becomes a Liability</a></p>
</blockquote>
<p>I referred earlier to the notion that exceptional employees are a form of leverage. Just like financial leverage, <em>talent leverage</em> allows a company to do things they wouldn't otherwise be capable of with existing resources.</p>
<p>To attract such special individuals, startups have to promise the world to these ambitious folks, a sort of "debt." <strong>These superstar employees wouldn't join otherwise</strong> – the cash compensation alone is rarely worth it. They must be promised quickly-appreciating equity, as well as the Silicon Valley cache and prestige associated with a successful startup. This is related to Keith Rabois' idea of "<a href="https://leveragingideas.com/talent-arbitrage/">talent arbitrage</a>."</p>
<p>This Silicon Valley "spin" peaks during market highs – frothy periods where slick storytellers paint increasingly fantastical and implausible visions for what their company will achieve. It's a competition to see who can lever up their fragile enterprise the most.</p>
<p>If things start to go south, the bubble bursts, and these 10x employees are often the first to abandon ship:</p>
<blockquote>
<p>The leverage you get from hiring really talented people is a huge risk during rough times, because these people have lots of other options and the ambition to pursue them.<br>
…<br>
If any of of the people in this chain stop believing the hype around which their project is organized, then the hype becomes unjustified… And once the bubble starts to wobble, 10x employees will move on to the next compelling tech vision, causing the leveraged death spiral mentioned in the last section. <strong>Leveraging your company with talent increases your volatility - either you orchestrate a revolution, or you implode</strong> – <a href="https://www.dwarkeshpatel.com/p/talent-as-leverage">Talent as leverage</a></p>
</blockquote>
<p>It's never pretty when leverage blows up, and talent leverage is no different. Troubled startups face double jeopardy – preferred equity implodes, as does the talent stack.</p>
<h2>Easy funding =/= easy life</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515959633-Funding-Simply-Shifts-the-Bottleneck_2022-04-18-17.19.06.excalidraw.png" alt="Funding-Simply-Shifts-the-Bottleneck_2022-04-18-17.19.06.excalidraw"></p>
<p>I'm increasingly skeptical of the notion that easy funding makes the lives of founders easier. <em>Funding merely shifts the bottleneck.</em></p>
<p>Difficulty hiring is a recurring theme I've seen among founders during red-hot markets. <strong>The financial capital comes easy; the human capital doesn't.</strong></p>
<p>In fact, hiring can be <em>tougher</em> after raising at a big valuation because candidates might think all the upside is gone already, making equity compensation less attractive:</p>
<blockquote>
<p>At Retool, we decided to raise the smallest Series C we could, at a valuation substantially lower than most offers we received. Why? Because even though maximizing our valuation and money raised might be optically good (the press loves to report on large financing rounds at large valuations), it hurts the core constituency that got us here: our team… <strong>Reaching peak valuations too early results in substantially less upside for employees.</strong> – <a href="https://retool.com/blog/series-c/">Raising less money at lower valuations</a></p>
</blockquote>
<p>Between the increased effort that hiring requires during boom periods and the prospect of employee exodus after hitting choppy waters, founders should be wary of getting caught up in the irrational exuberance of the broader market.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Breaking Apart the Rule of 40]]>
                        </title>
                        <description>
                            <![CDATA[Rules are meant to be broken, and the Rule of 40 is no exception]]>
                        </description>
                        <link>https://whoisnnamdi.com/rule-40/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/rule-40/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 03 Mar 2022 09:49:27 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512270632-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Rules are meant to be broken, and the Rule of 40 is no exception.</p>
<p>The Rule of 40 is a popular heuristic for evaluating financial performance and predicting valuation multiples.</p>
<p>But it's got 99 3 problems:</p>
<ul>
<li>It's too rigid</li>
<li>It's too short-term</li>
<li>It's too narrowly focused</li>
</ul>
<p>In this essay, I break apart the Rule of 40, fix it, and put it back together again.</p>
<h2>Laying down the rules</h2>
<p>After flying high for some time, software valuation multiples have come back down to Earth (Note: LTM multiples used throughout this article):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515950447-rev_mul.png" alt="rev_mul"></p>
<p>While there are <a href="https://whoisnnamdi.com/grow-valuation/">all sorts</a> of <a href="https://whoisnnamdi.com/high-retention-high-volatility/">explanations</a> for the recent tech correction, the <a href="https://feld.com/archives/2015/02/rule-40-healthy-saas-company/">Rule of 40</a> concerns itself not so much with the ebbs and flows of software valuations but rather their determinants at <em>a single point-in-time</em>. It provides a simple rule of thumb for evaluating the performance of software companies and estimating their likely valuation multiples:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.462ex;" xmlns="http://www.w3.org/2000/svg" width="35.233ex" height="2.057ex" role="img" focusable="false" viewBox="0 -705 15573 909" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-1-TEX-N-34" d="M462 0Q444 3 333 3Q217 3 199 0H190V46H221Q241 46 248 46T265 48T279 53T286 61Q287 63 287 115V165H28V211L179 442Q332 674 334 675Q336 677 355 677H373L379 671V211H471V165H379V114Q379 73 379 66T385 54Q393 47 442 46H471V0H462ZM293 211V545L74 212L183 211H293Z"></path><path id="MJX-1-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-47" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q401 658 376 654T316 633T254 592T205 519T177 411Q173 369 173 335Q173 259 192 201T238 111T302 58T370 31T431 24Q478 24 513 45T559 100Q562 110 562 160V212Q561 213 557 216T551 220T542 223T526 225T502 226T463 227H437V273H449L609 270Q715 270 727 273H735V227H721Q674 227 668 215Q666 211 666 108V6Q660 0 657 0Q653 0 639 10Q617 25 600 42L587 54Q571 27 524 3T406 -22Q317 -22 238 22T108 151T56 342Z"></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-1-TEX-N-50" d="M130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-1-TEX-N-79" d="M69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="52" xlink:href="#MJX-1-TEX-N-52"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(736,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(1292,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1570,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2014,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(2264,0)"></use><use data-c="66" xlink:href="#MJX-1-TEX-N-66" transform="translate(2764,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3070,0)"></use><use data-c="34" xlink:href="#MJX-1-TEX-N-34" transform="translate(3320,0)"></use><use data-c="30" xlink:href="#MJX-1-TEX-N-30" transform="translate(3820,0)"></use></g><g data-mml-node="mo" transform="translate(4597.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(5653.6,0)"><use data-c="47" xlink:href="#MJX-1-TEX-N-47"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(785,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(1177,0)"></use><use data-c="77" xlink:href="#MJX-1-TEX-N-77" transform="translate(1677,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(2399,0)"></use><use data-c="68" xlink:href="#MJX-1-TEX-N-68" transform="translate(2788,0)"></use></g><g data-mml-node="mo" transform="translate(9219.8,0)"><use data-c="2B" xlink:href="#MJX-1-TEX-N-2B"></use></g><g data-mml-node="mtext" transform="translate(10220,0)"><use data-c="50" xlink:href="#MJX-1-TEX-N-50"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(681,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(1073,0)"></use><use data-c="66" xlink:href="#MJX-1-TEX-N-66" transform="translate(1573,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(1879,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(2157,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(2546,0)"></use><use data-c="62" xlink:href="#MJX-1-TEX-N-62" transform="translate(3046,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(3602,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(3880,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(4158,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(4436,0)"></use><use data-c="79" xlink:href="#MJX-1-TEX-N-79" transform="translate(4825,0)"></use></g></g></g></svg></mjx-container>
<p>The Rule of 40 states that the sum of annual revenue growth and profitability (either EBITDA or free cash flow margin) should equal 40 or more for the best performing companies, as in the following slide from <a href="https://www.scribd.com/document/497410287/Battery-Ventures-Software-2021-Report">Battery Ventures' Software 2021 deck</a>:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515945809-Pasted-image-20220222124207.png" alt="Pasted-image-20220222124207"></p>
<p>In general though, the "40" isn't particularly important. Higher is better; that's it.</p>
<h2>"Houston, we have three problems"</h2>
<p>I see three problems with standard Rule of 40 analysis.</p>
<h3>Problem #1: Revenue and margin may not be equally important</h3>
<p>Because the Rule of 40 adds revenue and margin together with no particular weighting of each (it's analogous to a simple average), in a subtle way it implies they are of equal importance.</p>
<p>This isn't necessarily true of course. An additional point of revenue growth could be worth more, the same, or less than an additional point of profitability.</p>
<p><strong>Fix #1: include revenue and margin separately in our regressions.</strong></p>
<h3>Problem #2: The long-run may look quite different</h3>
<p>Even if revenue and margin were equally important on average, their relative importance could change over time.</p>
<p>Folks tend to run Rule of 40 regressions at a particular point in time, revealing how the market values growth and margin today, and today alone, saying nothing about how those relationships change over the long-run.</p>
<p>In a bull market, where growth is highly valued, our regressions fool us into thinking growth will be forever important. When the market subsequently turns, growth gets crushed, needlessly surprising many analysts and investors.</p>
<p><strong>Fix #2: pool data from multiple time periods.</strong></p>
<h3>Problem #3: Growth and margin aren't the only factors</h3>
<p>Simple regressions inflate the importance of the Rule of 40 by misattributing the influence of other factors to growth and margin.</p>
<p>For example: Snowflake is a high flying company, both in terms of it's growth rate and revenue multiple. But Snowflake really is a special snowflake – it has a lot of other things going for it too, like the massive market for data warehouse solutions.</p>
<p>Thus, naively comparing Snowflake and other companies with smaller markets in the same regression will tend to overstate the value of revenue growth, leading to the false impression that, "if only we grow as fast as Snowflake, we'll be valued just as highly." This is wrong.</p>
<p><strong>Fix #3: control for the average influence of unobserved factors.</strong></p>
<h2>If it's broken, fix it</h2>
<p>Let's implement each of these fixes one-by-one to see how they influence the results.</p>
<p>Here's the impact of revenue growth and free cash flow margin on valuation multiples with each of the three fixes implemented sequentially:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515948728-regs.png" alt="regs"></p>
<p><strong>First</strong>, let's split up growth and margin to see how they separately impact valuations. To start, we pick a random date, June 30th 2021:</p>
<ul>
<li>According to this simple analysis, a single additional percentage point of revenue growth increases valuation multiples by 3%, while an additional percentage point of free cash flow margin only adds 0.5%.</li>
<li>By this measure, growth is six times as important as margin.</li>
</ul>
<p><strong>Second</strong>, we'll pool together two years of trading data, excluding any companies that went public or got acquired during this time so we maintain a balanced sample throughout. The regression reveals the <em>average</em> importance of growth and profitability over <em>the entire period</em>:</p>
<ul>
<li>An additional point of revenue growth leads to a 2.7% higher revenue multiple (down from 3%) while an additional point of free cash flow margin yields 1.1% higher valuation (up from 0.5%).</li>
<li>Growth matters only ~2.5x as much as margin.</li>
</ul>
<p><strong>Lastly</strong>, the results still suffer from the fact that we're attempting to explain all the complexities of valuation with only two variables (the "Snowflake problem"), giving credit to growth and margin where credit isn't due. The final regression controls for the average impact of these unobserved factors (<a href="https://www.youtube.com/watch?v=sFvV9b1cGFc">fixed effects</a> for the econometrics nerds):</p>
<ul>
<li>1 point of either revenue growth or free cash flow margin increases valuation multiples by 1%.</li>
<li><strong>Growth and margin matter equally.</strong></li>
</ul>
<p>So it turns out growth and margin are equally important after all!</p>
<p>Note: it may be much easier to increase growth or margin by one percentage point, so we have to be a little careful in saying they "matter equally."</p>
<p>Still, we've much more rigorously confirmed that growth and margin have similar effects on valuation. Very cool.</p>
<h2>How the rules have changed</h2>
<p>Here's how the market value of growth and profitability have evolved over time:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515944248-fe.png" alt="fe"></p>
<p>We can see a number of interesting features:</p>
<ul>
<li>The market value of profitability temporarily spiked in the early days of the pandemic but then fell significantly, bottoming out at almost zero in Q1 2021</li>
<li>Meanwhile, the market's thirst for growth surged from only 0.5% per percentage point of growth to 1.5% at the peak in late 2020</li>
<li>Beginning in early 2021, margin began a steady comeback, and <strong>profitability is now as important as it was in the most uncertain days of the pandemic</strong></li>
<li>The value of growth fell in early 2021, recovered somewhat, and crashed even more spectacularly later in the year, <strong>returning growth to its pre-pandemic value</strong></li>
</ul>
<p>We can also plot the "spread" between the value of growth vs. margin, an interesting chart in its own right:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515952013-spread.png" alt="spread"></p>
<ul>
<li>Growth and margin start off fairly close, with a slight market preference toward margin</li>
<li>After a brief period of uncertainty, the value of software growth relative to profitability roars back, peaking at a ~1% premium at the end of 2020</li>
<li>Again, we see the first blow to growth in the first half of 2021 and a second blow landing in late 2021</li>
<li><strong>Relative to profitability, growth is even less valuable than it was pre-COVID</strong></li>
</ul>
<h2>Rewriting the rules</h2>
<p>A few conclusions:</p>
<ul>
<li>On average, <strong>growth and profitability are equally impactful to valuation</strong>, but one may win out over the other at various periods</li>
<li>Growth matters <em>much less</em> than simple cross-sectional regressions imply</li>
<li>As of early 2022, <strong>the market has turned decisively against growth in favor of profitability</strong></li>
</ul>
<p>In a way, these results affirm the utility of the Rule of 40: growth and margin are similarly important. However it adds a wrinkle: the <em>degree</em> of similarity varies over the market cycle.</p>
<p>Though the days of "growth at <em>all</em> costs" are clearly over, it's still fair to ask: growth at <em>what</em> cost? In other words, <strong>how should companies trade off growth and margin?</strong></p>
<p>I'll leave that to a future post. 👀</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Schrodinger's Balance Sheet: When Equity Becomes a Liability]]>
                        </title>
                        <description>
                            <![CDATA[Preferred equity exists in a constant state of quantum superposition. It's neither equity nor debt, until it is.]]>
                        </description>
                        <link>https://whoisnnamdi.com/schrodingers-balance-sheet/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/schrodingers-balance-sheet/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 07 Feb 2022 14:55:54 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512268990-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><a href="https://www.svb.com/blogs/lewis-hower/startup-founders-should-know-preferred-stock">Preferred equity</a> is synthetic leverage.</p>
<p>It combines an equity-like security with a debt-like security. Which one it is depends on the success of the business:</p>
<ul>
<li>When things go well, preferred stock converts to standard common equity.</li>
<li>When things go poorly, preferred stock turns into debt.</li>
</ul>
<p>In this way, preferred equity exists in a constant state of <a href="https://scienceexchange.caltech.edu/topics/quantum-science-explained/quantum-superposition"><strong>quantum superposition</strong></a>. It's neither equity nor debt, until it is.</p>
<h2>Schrödinger's balance sheet</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515940895-Schrodingers_cat.svg" alt="Schrodingers_cat"></p>
<p><a href="https://en.wikipedia.org/wiki/Erwin_Schr%C3%B6dinger">Erwin Schrödinger</a> was a renowned physicist and one of the first to study the strange world of quantum theory. Among us mortals, he is most known for his famous thought experiment, eponymously called "<a href="https://en.wikipedia.org/wiki/Schr%C3%B6dinger%27s_cat">Schrödinger's cat</a>." In it, he posited that a cat sitting in a box along with a flask of poison could be considered to be both dead *and* alive until we open the box to find out if the flask has shattered, killing the poor kitty.</p>
<p><strong>Preferred equity is like Schrödinger's cat.</strong> Open the box: if a startup is very valuable, preferred stock all becomes normal equity. If the box contains a dead or slow growing startup that hasn't created much value, preferred stock becomes debt instead.</p>
<p>You can think about preferred equity as debt combined with a deeply out of the money <a href="https://www.investopedia.com/terms/c/calloption.asp">call option</a>. "<a href="https://www.investopedia.com/terms/o/outofthemoney.asp"><em>Out of the money</em></a>" is just a fancy way of saying the investor won't make much of a return unless the company gains significant value. If the company creates no value from that point forward, the option component is worthless, and the equity merely becomes debt. If the company creates significant value, the importance of the debt element wanes and the option component dominates the return profile.</p>
<p>Strangely enough, this is the exact <em>reverse</em> of what you'd want to have happen as a founder.</p>
<p>This point has been made by <a href="https://www.gsb.stanford.edu/healthy-banking-system-goal">John Cochrane and others</a> in the context of bank capitalization:</p>
<blockquote>
<p>Ensuring that banks are funded with significantly more equity should be a key element of effective bank regulatory reform. Much more equity funding would permit banks to perform all their useful functions and support growth without endangering the financial system by systemic fragility.</p>
</blockquote>
<p>Things go very wrong when banks are overly-funded with debt, as debt tends not to "fail gracefully" the way equity does. In financial crises, banks "break" in a very <em>hard</em> way due to the significant debt they carry, which must be paid back, necessitating government bailouts in the worst case scenarios. On the other hand, equity tends to break in a <em>soft</em> way: if the company isn't worth anything, nothing is owed. Thus a sudden decline in the value of the company doesn't cause a severe panic.</p>
<p>Cochrane goes so far as to advocate that in times of financial distress, debt on the balance sheet of struggling banks should simply <a href="https://static1.squarespace.com/static/5e6033a4ea02d801f37e15bb/t/5ee802f76e77d94cab19b981/1592263416691/across-the-great-divide-ch10.pdf">convert to equity</a> rather than be bailed out by the government. Notice what he's proposing – debt on the <em>upside</em> and equity on the <em>downside</em>.</p>
<p>Likewise, as a founder, you'd want your capital structure to be equity when things go badly, making it a variable cost that declines gracefully as your business success declines, and you'd want it to be debt in the upside case, effectively acting as a fixed cost over which you get leverage.</p>
<p>In startup land, however, we do the opposite – <em>we convert equity to debt in times of distress.</em></p>
<h2>Spin up</h2>
<p>Preferred equity is more valuable to investors than common equity, so they're willing to pay more for it, necessitating the issuance of fewer shares and leading to less dilution for the company. Thus, <em>relative to raising common equity</em>, preferred equity has a similar benefit as debt, in that it allows you to raise more capital with less dilution.</p>
<p>In this way, startups become <strong>synthetically levered</strong>. No debt appears on the balance sheet, yet the returns of the common equity (really anyone below the most senior preferred stock) get juiced by the lower cost of capital achieved via preferred equity.</p>
<p>The value of preferred stock can be inferred from its cost, i.e. its premium relative to common equity. The preferred equity premium is rarely laid out explicitly, but researchers at Stanford and the University of British Columbia estimate that these days <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3725240"><strong>preferred equity is 50% more valuable than common equity</strong></a> and was even more valuable in the past:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515934225-Pasted-image-20211201152745.png" alt="Pasted-image-20211201152745"></p>
<blockquote>
<p>This paper develops the first option pricing model of venture capital-backed companies and their security values that incorporates the dilutive future financing rounds prevalent in the industry. Applying our model to 19,000 companies raising 37,000 rounds shows that preferred contractual features make <strong>the most recently issued preferred shares worth on average 56% more than common shares</strong> – <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3725240">A Valuation Model of Venture Capital-Backed Companies with Multiple Financing Rounds</a></p>
</blockquote>
<p>A quick illustration: you're a founder, and you know you need to raise roughly $60M to achieve a meaningful outcome. Because preferred equity is worth 50% more to investors than common, you could either raise $60M in preferred stock with some level of dilution, or raise it all in common stock for 50% more dilution. Let's say the common approach would dilute you by 60%. Then raising the same amount via preferred would only dilute you by 40%:</p>
<table>
<thead>
<tr>
<th></th>
<th>Preferred</th>
<th>Common</th>
</tr>
</thead>
<tbody>
<tr>
<td>Capital raised</td>
<td>$60M</td>
<td>$60M</td>
</tr>
<tr>
<td>Total shares</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>Blended price/share</td>
<td>$1.50</td>
<td>$1.00</td>
</tr>
<tr>
<td>Shares purchased</td>
<td>40</td>
<td>60</td>
</tr>
<tr>
<td><strong>Dilution</strong></td>
<td><strong>40%</strong></td>
<td><strong>60%</strong></td>
</tr>
</tbody>
</table>
<p>This obviously makes a massive difference in an upside scenario. Simply put, <strong>you get to keep much, much more of your company.</strong> When things work out, preferred equity has a higher cost to investors, and a lower cost to startups.</p>
<p>This is obviously great in a bull market. Cheap, bountiful leverage, available oftentimes for a fraction of the painful diligence associated with raising real debt.</p>
<p>The availability of preferred equity drives companies to raise more than they otherwise would. We'll look at such a scenario next.</p>
<h2>Spin down</h2>
<p>When rates of return are sufficiently low, preferred equity begins to look eerily like debt. When are rates of return lowest? <a href="https://whoisnnamdi.com/grow-valuation/">When valuations are highest</a>:</p>
<blockquote>
<p><strong>High valuation multiples corresponds to lower returns</strong>, and vice versa. After periods of frothy valuations, returns end up lower than expected, bringing lofty valuations multiples back down to reality – <a href="https://whoisnnamdi.com/grow-valuation/">Companies Rarely Grow Into Their Valuations</a></p>
</blockquote>
<p>The mountains of preferred equity being layered into private companies follows the same behavioral vein typically seen during the peak of a market cycle, that is, <strong>massive overuse and abuse of debt that juices returns.</strong> This has predictably disastrous consequences when things go south.</p>
<p>As is common in finance, <strong>the problems with debt reveal themselves only once it blows up.</strong> In a downside scenario, the returns of common equity holders get crushed by the weight of the liquidation preference attached to preferred equity.</p>
<p>Remember, venture capital investors are willing to pay $1.50 for preferred equity granting <em>the same ownership</em> they could get for $1 of common equity. In an upside scenario, they effectively pay $1.50 for $1's worth of equity. What happens in a downside scenario?</p>
<p>Let's return to our previous example. This time, the company chooses a certain, fixed level of dilution that it's willing to endure, 60%, and raises money up to that point. Since preferred stock can be issued at a premium, the company can raise $90M of it for the same dilution as $60M of common:</p>
<table>
<thead>
<tr>
<th></th>
<th>Preferred</th>
<th>Common</th>
</tr>
</thead>
<tbody>
<tr>
<td>Capital raised</td>
<td>$90M</td>
<td>$60M</td>
</tr>
<tr>
<td>Total shares</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>Blended price/share</td>
<td>$1.50</td>
<td>$1.00</td>
</tr>
<tr>
<td>Shares purchased</td>
<td>60</td>
<td>60</td>
</tr>
<tr>
<td><strong>Dilution</strong></td>
<td><strong>60%</strong></td>
<td><strong>60%</strong></td>
</tr>
</tbody>
</table>
<p>So far so good. The preferred approach gives you $30M more to put to work in the business. But let's say <a href="https://whoisnnamdi.com/product-market-fit-is-lindy/">you never quite achieve product-market fit</a> (not uncommon, even among companies that have raised tens of millions of dollars) and you woefully underperform expectations. You never become a unicorn, and the business is sold for only $100M:</p>
<ul>
<li>If you only raised common equity, the founders and employees walk away with $40M. Not as much as hoped for, but not bad!</li>
<li>If you raised preferred however, founders and employees walk away with only $10M, since the equity is now debt, and the investors must receive their "1x <a href="https://www.seedinvest.com/blog/angel-investing/liquidation-preferences">liquidation preference</a>" (their "principal" effectively). Brutal.</li>
</ul>
<p>This may offer a clue into why the hedge funds of the world have moved so swiftly into venture. As sophisticated, multi-asset investors, they are quite used to lower-returning, low-risk credit investing combined with potentially high-returning, high-risk derivatives. Rather than "fish out of water", as they are often portrayed by traditional venture investors, could they in fact be quite shrewd <a href="https://randle.substack.com/p/playing-different-games">(tiger)sharks</a>?</p>
<p>The rabbit hole goes further. Define "overvaluation" as the premium at which preferred stock is valued relative to common equity. Analysis shows <strong>overvaluation predicts poor exit outcomes</strong>, measured in terms of (1) exit value and (2) the probability of going public or being bought out (note: <a href="https://blog.minitab.com/en/adventures-in-statistics-2/regression-analysis-how-do-i-interpret-r-squared-and-assess-the-goodness-of-fit">low R^2 implies exit outcomes are difficult to predict</a>, not that the relationships aren't statistically significant):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515938441-Pasted-image-20220206175842.png" alt="Pasted-image-20220206175842"></p>
<blockquote>
<p>… <strong>overvaluation predicts low exit outcomes</strong>… The extent of this overstatement predicts poor subsequent performance – <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3725240">A Valuation Model of Venture Capital-Backed Companies with Multiple Financing Rounds</a></p>
</blockquote>
<p><strong>Abuse of preferred equity predicts worse outcomes, fewer exits, and lower returns.</strong></p>
<p>Synthetic leverage, as with all forms of financial leverage, makes bad situations <em>even worse</em> <strong>AND</strong> <em>more likely</em>.</p>
<h2>Superposition</h2>
<p>Now, let's finally explore the quirky quantum world of superposition.</p>
<p>Preferred equity starts as neither debt nor equity: you have to "open the box" to see if the company is successful. Unfortunately, actions that make your upside better (raising a ton of money and putting it to work in the business) also make your downside worse. Things that look smart in the upside scenario (raising a "war chest") look disastrous in retrospect on the downside. Gain and pain are entangled; success and failure are superimposed on one another.</p>
<p><strong>Perversely, the Silicon Valley ecosystem creates more synthetic debt (i.e. preferred equity) exactly as returns fall:</strong></p>
<ol>
<li>Valuations rise</li>
<li>Companies take advantage by issuing more preferred stock</li>
<li>Returns fall due to inflated valuations</li>
<li>Preferred stock converges toward debt</li>
</ol>
<p>Let's return to financial crises. The capital stack of a company is very similar to that of a home. From the perspective of the founder, common stock is the "equity" in the home and preferred stock is the debt or mortgage. If value of home falls below the principal on the mortgage, the homeowner is "<a href="https://www.investopedia.com/terms/u/underwater-mortgage.asp">underwater</a>", destroying the value of their equity.</p>
<p>Likewise, when a startup's valuation falls too low, the value comes out of the common shareholders; they get squeezed first. This is most severe in a down round where <a href="https://www.dlapiperaccelerate.com/knowledge/2017/what-is-anti-dilution-and-why-does-it-matter-to-me-as-a-company-founder.html">anti-dilution provisions</a> come into play. This is the Silicon Valley version of a good ol' Wall Street bailout: <strong>the debt (preferred) holders get saved, and the equity holders get wrecked.</strong></p>
<p>What tends to happen when homeowners go underwater? We know this from history – <a href="https://www.abi.org/newsroom/chart-of-the-day/serious-delinquency-rates-on-single-family-mortgages-decreased-slightly-in">they abandon the home</a>:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515936563-Pasted-image-20220130120610.png" alt="Pasted-image-20220130120610"></p>
<p>Now I ask: <strong>what might founders and employees do once they are underwater on the preferred equity they've raised?</strong></p>
<p>Equity value motivates founders and employees. If there's no hope for their equity to be worth anything, could we see discouraged founders and employees abandon ship in droves? Even if they don't leave the company entirely, could they effectively go "delinquent" and "check out," significantly reducing their company-focused effort and output?</p>
<p>In startups, we see acceleration of value impairment: as things get worse, they get even worse. Not a great underwriting scenario for a debt-like instrument huh?</p>
<p>Poor performance alone doesn't create a "<a href="http://www.daniellemorrill.com/2013/03/zombie-startups/">zombie startup</a>." Zombification requires <em>the total evisceration of team vitality and morale</em>. Thus, Schrödinger's cat becomes Schrödinger's zombie:</p>
<blockquote>
<p>"… it's very easy to get into this 'zombie mode,' where your startup is <strong>neither truly succeeding nor dying</strong>… This is actually worse than failing." – <a href="https://www.businessinsider.com/drew-houston-dropbox-startup-advice-2018-12">Drew Houston, Founder of Dropbox</a></p>
</blockquote>
<h2>Schrodinger's Pandora's box</h2>
<p>Imagine you're selling your home and the buyer offers to pay you 50% above the asking price as long as they can get "preferred equity" in your home. You'd be ecstatic about the richer sale price, but you'd also be really curious to know what in the world "preferred equity" is and why it's so valuable to them!</p>
<p>Likewise, as a founder or startup employee, even if corporate finance isn't your favorite topic, you should wonder why investors value preferred equity so highly.</p>
<p>What could investors be so concerned about that they would willingly overpay by 50%? And if they're so concerned, do you think, maybe, you should be too?</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Introducing a New and Improved SaaS Metric: Weighted ACV]]>
                        </title>
                        <description>
                            <![CDATA[ACV isn't as useful a concept as people think. We need a different SaaS monetization metric.]]>
                        </description>
                        <link>https://whoisnnamdi.com/weighted-acv/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/weighted-acv/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 11 Jan 2022 18:23:10 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512267660-weighted_ACV.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>ACV, or average/annual contract value, isn't as useful a concept as people think.</p>
<p>Though it's easy to forget, ACV is a <em>customer-weighted</em> metric: it tells us something about the customers of the business. However, despite its name, it doesn't tell us much about the <em>revenue profile</em> of the business, which is arguably more important.</p>
<p>Further, the standard ACV metric obscures valuable information about the skewness of monetization / revenue. Thus, we can't use it to compare companies with differing customer concentration.</p>
<p>We need a different SaaS monetization metric.</p>
<p>I present to you: <strong>weighted ACV (WACV)</strong>.</p>
<h2>Customer-centric or dollar-centric?</h2>
<p>In <a href="https://whoisnnamdi.com/software-fat-tailed/">Enterprise Software Monetization is Fat-Tailed</a>, I talked about the follies of focusing on simple averages, especially in enterprise software:</p>
<blockquote>
<p>In enterprise software, the "average" customer is a meaningless concept.</p>
<p>Paying too much attention to the "average" customer leads many founders and investors astray.</p>
</blockquote>
<p><a href="https://blog.hubspot.com/sales/annual-contract-value-acv">Average/annual contract value</a>, or ACV, is one such misleading metric.</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -1.6ex;" xmlns="http://www.w3.org/2000/svg" width="37.897ex" height="4.749ex" role="img" focusable="false" viewBox="0 -1392 16750.6 2099" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-1-TEX-N-43" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342Z"></path><path id="MJX-1-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="41" xlink:href="#MJX-1-TEX-N-41"></use><use data-c="43" xlink:href="#MJX-1-TEX-N-43" transform="translate(750,0)"></use><use data-c="56" xlink:href="#MJX-1-TEX-N-56" transform="translate(1472,0)"></use></g><g data-mml-node="mo" transform="translate(2499.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(3555.6,0)"><g data-mml-node="mtext" transform="translate(220,676)"><use data-c="54" xlink:href="#MJX-1-TEX-N-54"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(722,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(1222,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(1611,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(2111,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2389,0)"></use><use data-c="41" xlink:href="#MJX-1-TEX-N-41" transform="translate(2639,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(3389,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(3945,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(4501,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(5057,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(5557,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(5835,0)"></use><use data-c="43" xlink:href="#MJX-1-TEX-N-43" transform="translate(6085,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(6807,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(7307,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(7863,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(8252,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(8644,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(9144,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(9588,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(9977,0)"></use><use data-c="56" xlink:href="#MJX-1-TEX-N-56" transform="translate(10227,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(10977,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(11477,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(11755,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(12311,0)"></use></g><g data-mml-node="mtext" transform="translate(2966,-686)"><use data-c="54" xlink:href="#MJX-1-TEX-N-54"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(722,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(1222,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(1611,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(2111,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2389,0)"></use><use data-c="43" xlink:href="#MJX-1-TEX-N-43" transform="translate(2639,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(3361,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(3917,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(4311,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(4700,0)"></use><use data-c="6D" xlink:href="#MJX-1-TEX-N-6D" transform="translate(5200,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(6033,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(6477,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(6869,0)"></use></g><rect width="12955" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>ACV tells you something about the typical <em>customer</em>. Products with small ACVs tend to serve smaller, more fickle customers with a high probability of churning, like small businesses and startups. High ACV products address the needs of larger companies with more mission critical use cases, leading to less churn.</p>
<p>However, while ACV tells you something about how the typical customer might behave, it doesn't tell you much about how the typical <em>dollar of revenue</em> behaves. If 70% of the revenue comes from 20% of the customers, then for the purposes of analyzing revenues at a point in time, it's really only that subset of customers that matter. Such <a href="https://whoisnnamdi.com/software-fat-tailed/#the-evidence">extreme concentration</a> is not unusual for public software companies:<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515809416-share.png" alt="Pasted image 20211113192246"></p>
<blockquote>
<p>The implied top-20% and top-1% revenue concentration are quite large for most companies (blue = top 20%, red = top 1%)</p>
<p>So, <strong>the top 20% typically represent ~70% of revenue</strong>, while <strong>the top 1% represent ~40%</strong>. Not quite Pareto 80/20, but pretty close!</p>
</blockquote>
<p>This distinction between <strong>customer behavior</strong> and <strong>revenue behavior</strong> is critical, as the behavior of the typical dollar of revenue is much more informative about the quality of revenue and the likelihood that revenue will be retained or expanded. <strong>For companies with high revenue concentration, simple averages are largely useless.</strong></p>
<blockquote>
<p>This is largely true to this day - for many public enterprise SAAS, a very small # of customers contributes a huge chunk of total rev.<br>
e.g. ~0.95% of <a href="https://twitter.com/search?q=%24NET&#x26;src=ctag&#x26;ref_src=twsrc%5Etfw">$NET</a> paying customers rep >50% of rev in Q3/21</p>
<p>So why do some analysts still use metrics like ARPU/AARPU for enterprise saas? <a href="https://t.co/WXSpWJYfNA">pic.twitter.com/WXSpWJYfNA</a></p>
<p>— Masterly Inactive (@masterly_in) <a href="https://twitter.com/masterly_in/status/1476610484371660812?ref_src=twsrc%5Etfw">December 30, 2021</a></p>
</blockquote>
<p>Rather than the exception, high concentration is the <em>norm</em> in certain verticals (e.g. cloud infrastructure) or pricing models (consumption/pay-as-you-go) where a "customer" can be as small as tens of dollars per month:</p>
<blockquote>
<p>Interestingly, many companies tied to infrastructure in some way like Datadog, Fastly, and Twilio... have 80/20 monetization distributions, at least in some years.</p>
</blockquote>
<p>Unfortunately, the standard ACV metric is incomparable across companies with vastly different customer concentration. A company with many small or "free tier" customers will have an artificially low ACV metric, even if contract sizes are reasonably high among its paying customers. You can't naively compare such a skewed company to another business where every customer is small.</p>
<p>This is why you see public software companies with tons of bottom up but low-paying usage report ACV or other customer metrics including only the customers larger than some nominal spending level, like $5,000 (screenshot from the <a href="https://sec.report/Document/0001628280-21-019932/gitlab-sx1a2.htm">GitLab S-1</a>):<br>
<img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515929823-Pasted-image-20211114131342.png" alt="Pasted-image-20211114131342"></p>
<p>Using arbitrary thresholds is a clunky way of dealing with this problem, as companies can pick any value they want. <strong>ACV calculations with different thresholds are effectively incomparable.</strong></p>
<h2>Weighing in</h2>
<p>A customer-weighed metric helps you understand customers. ACV is a <em>customer</em> or <em>equal-weighted</em> metric, which is to say every customer is weighted equally. So if there are 1000 customers, the contract value of each customer is "weighted" or multiplied by 1/1000 and then summed up. Because each <em>customer</em> is weighted equally, the resulting metric tells us something about the typical <em>customer</em>. Thus we can rewrite ACV as:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.619ex;" xmlns="http://www.w3.org/2000/svg" width="53.111ex" height="4.769ex" role="img" focusable="false" viewBox="0 -950 23475.2 2107.8" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-2-TEX-N-43" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342Z"></path><path id="MJX-2-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-2-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-2-TEX-LO-2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path><path id="MJX-2-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-2-TEX-N-25" d="M465 605Q428 605 394 614T340 632T319 641Q332 608 332 548Q332 458 293 403T202 347Q145 347 101 402T56 548Q56 637 101 693T202 750Q241 750 272 719Q359 642 464 642Q580 642 650 732Q662 748 668 749Q670 750 673 750Q682 750 688 743T693 726Q178 -47 170 -52Q166 -56 160 -56Q147 -56 142 -45Q137 -36 142 -27Q143 -24 363 304Q469 462 525 546T581 630Q528 605 465 605ZM207 385Q235 385 263 427T292 548Q292 617 267 664T200 712Q193 712 186 709T167 698T147 668T134 615Q132 595 132 548V527Q132 436 165 403Q183 385 203 385H207ZM500 146Q500 234 544 290T647 347Q699 347 737 292T776 146T737 0T646 -56Q590 -56 545 0T500 146ZM651 -18Q679 -18 707 24T736 146Q736 215 711 262T644 309Q637 309 630 306T611 295T591 265T578 212Q577 200 577 146V124Q577 -18 647 -18H651Z"></path><path id="MJX-2-TEX-N-20" d=""></path><path id="MJX-2-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-2-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-2-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-2-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-2-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-2-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-2-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-2-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-2-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-2-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-2-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-2-TEX-N-D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path><path id="MJX-2-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-2-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="41" xlink:href="#MJX-2-TEX-N-41"></use><use data-c="43" xlink:href="#MJX-2-TEX-N-43" transform="translate(750,0)"></use><use data-c="56" xlink:href="#MJX-2-TEX-N-56" transform="translate(1472,0)"></use></g><g data-mml-node="mo" transform="translate(2499.8,0)"><use data-c="3D" xlink:href="#MJX-2-TEX-N-3D"></use></g><g data-mml-node="munder" transform="translate(3555.6,0)"><g data-mml-node="mo"><use data-c="2211" xlink:href="#MJX-2-TEX-LO-2211"></use></g><g data-mml-node="mi" transform="translate(509.9,-1050) scale(0.707)"><use data-c="1D45B" xlink:href="#MJX-2-TEX-I-1D45B"></use></g></g><g data-mml-node="msub" transform="translate(5166.2,0)"><g data-mml-node="mtext"><use data-c="25" xlink:href="#MJX-2-TEX-N-25"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(833,0)"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(1083,0)"></use><use data-c="66" xlink:href="#MJX-2-TEX-N-66" transform="translate(1583,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(1889,0)"></use><use data-c="54" xlink:href="#MJX-2-TEX-N-54" transform="translate(2139,0)"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(2861,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(3361,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(3750,0)"></use><use data-c="6C" xlink:href="#MJX-2-TEX-N-6C" transform="translate(4250,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(4528,0)"></use><use data-c="43" xlink:href="#MJX-2-TEX-N-43" transform="translate(4778,0)"></use><use data-c="75" xlink:href="#MJX-2-TEX-N-75" transform="translate(5500,0)"></use><use data-c="73" xlink:href="#MJX-2-TEX-N-73" transform="translate(6056,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(6450,0)"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(6839,0)"></use><use data-c="6D" xlink:href="#MJX-2-TEX-N-6D" transform="translate(7339,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(8172,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(8616,0)"></use><use data-c="73" xlink:href="#MJX-2-TEX-N-73" transform="translate(9008,0)"></use></g><g data-mml-node="mi" transform="translate(9435,-150) scale(0.707)"><use data-c="1D45B" xlink:href="#MJX-2-TEX-I-1D45B"></use></g></g><g data-mml-node="mo" transform="translate(15297.7,0)"><use data-c="D7" xlink:href="#MJX-2-TEX-N-D7"></use></g><g data-mml-node="msub" transform="translate(16297.9,0)"><g data-mml-node="mtext"><use data-c="43" xlink:href="#MJX-2-TEX-N-43"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(722,0)"></use><use data-c="6E" xlink:href="#MJX-2-TEX-N-6E" transform="translate(1222,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(1778,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(2167,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(2559,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(3059,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(3503,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(3892,0)"></use><use data-c="56" xlink:href="#MJX-2-TEX-N-56" transform="translate(4142,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(4892,0)"></use><use data-c="6C" xlink:href="#MJX-2-TEX-N-6C" transform="translate(5392,0)"></use><use data-c="75" xlink:href="#MJX-2-TEX-N-75" transform="translate(5670,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(6226,0)"></use></g><g data-mml-node="mi" transform="translate(6703,-150) scale(0.707)"><use data-c="1D45B" xlink:href="#MJX-2-TEX-I-1D45B"></use></g></g></g></g></svg></mjx-container>
<p><strong>However, if you want to understand revenue, you need to use a revenue-weighted metric.</strong></p>
<p>Just like the <a href="https://www.investopedia.com/terms/c/capitalizationweightedindex.asp">market capitalization-weighting</a> of the S&#x26;P 500 index signals the changing value of the overall equity market (but not of the individual <em>companies</em> in the index), a revenue or contract value-weighted metric tells us much about the overall revenue of the business (rather than the individual customers).</p>
<p>Introducing: <strong>weighted ACV (WACV)</strong>.</p>
<p>Revenue-weighting the revenue each customer generates might sound like double counting, but we need to weight individual customer revenues by <em>something</em>. Nothing limits us to equal-weighting. Revenue-weighting is not only perfectly reasonable, it's the more appropriate methodology when analyzing quality of revenues.</p>
<p>A perfect example is <a href="https://whoisnnamdi.com/high-retention-high-volatility/">net dollar retention</a>, a common tool for understanding the quality and behavior of software revenues:</p>
<ul>
<li>Believe it or not, <em>net dollar retention is also a revenue-weighted metric</em>: it weights the individual dollar retention of each customer by the revenue that customer represents. That's not how the calculation is typically conceptualized, but that is the underlying math (grab some data and prove this to yourself)</li>
<li>Thus, larger customers matter more for net dollar retention; the churning of a tiny customer has infinitesimal impact.</li>
</ul>
<p>To calculate weighted ACV:</p>
<ul>
<li>Take the contract value of each customer and multiply it by the proportion of revenue that customer represents. A customer representing 1% of revenue gets a 1/100 weight, a customer representing 3% of revenue receives a weight of 3/100, and so on.</li>
<li>Then sum all those numbers (i.e. SUMPRODUCT, for all you spreadsheet monkeys out there)</li>
</ul>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.619ex;" xmlns="http://www.w3.org/2000/svg" width="67.797ex" height="4.769ex" role="img" focusable="false" viewBox="0 -950 29966.2 2107.8" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-N-57" d="M792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792Z"></path><path id="MJX-3-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-3-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-3-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-3-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-3-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-3-TEX-N-20" d=""></path><path id="MJX-3-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-3-TEX-N-43" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342Z"></path><path id="MJX-3-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-3-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-3-TEX-LO-2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path><path id="MJX-3-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-3-TEX-N-25" d="M465 605Q428 605 394 614T340 632T319 641Q332 608 332 548Q332 458 293 403T202 347Q145 347 101 402T56 548Q56 637 101 693T202 750Q241 750 272 719Q359 642 464 642Q580 642 650 732Q662 748 668 749Q670 750 673 750Q682 750 688 743T693 726Q178 -47 170 -52Q166 -56 160 -56Q147 -56 142 -45Q137 -36 142 -27Q143 -24 363 304Q469 462 525 546T581 630Q528 605 465 605ZM207 385Q235 385 263 427T292 548Q292 617 267 664T200 712Q193 712 186 709T167 698T147 668T134 615Q132 595 132 548V527Q132 436 165 403Q183 385 203 385H207ZM500 146Q500 234 544 290T647 347Q699 347 737 292T776 146T737 0T646 -56Q590 -56 545 0T500 146ZM651 -18Q679 -18 707 24T736 146Q736 215 711 262T644 309Q637 309 630 306T611 295T591 265T578 212Q577 200 577 146V124Q577 -18 647 -18H651Z"></path><path id="MJX-3-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-3-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-3-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-3-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-3-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-3-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-3-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-3-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-3-TEX-N-D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="57" xlink:href="#MJX-3-TEX-N-57"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(1028,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(1472,0)"></use><use data-c="67" xlink:href="#MJX-3-TEX-N-67" transform="translate(1750,0)"></use><use data-c="68" xlink:href="#MJX-3-TEX-N-68" transform="translate(2250,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(2806,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(3195,0)"></use><use data-c="64" xlink:href="#MJX-3-TEX-N-64" transform="translate(3639,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(4195,0)"></use><use data-c="41" xlink:href="#MJX-3-TEX-N-41" transform="translate(4445,0)"></use><use data-c="43" xlink:href="#MJX-3-TEX-N-43" transform="translate(5195,0)"></use><use data-c="56" xlink:href="#MJX-3-TEX-N-56" transform="translate(5917,0)"></use></g><g data-mml-node="mo" transform="translate(6944.8,0)"><use data-c="3D" xlink:href="#MJX-3-TEX-N-3D"></use></g><g data-mml-node="munder" transform="translate(8000.6,0)"><g data-mml-node="mo"><use data-c="2211" xlink:href="#MJX-3-TEX-LO-2211"></use></g><g data-mml-node="mi" transform="translate(509.9,-1050) scale(0.707)"><use data-c="1D45B" xlink:href="#MJX-3-TEX-I-1D45B"></use></g></g><g data-mml-node="msub" transform="translate(9611.2,0)"><g data-mml-node="mtext"><use data-c="25" xlink:href="#MJX-3-TEX-N-25"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(833,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(1083,0)"></use><use data-c="66" xlink:href="#MJX-3-TEX-N-66" transform="translate(1583,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(1889,0)"></use><use data-c="54" xlink:href="#MJX-3-TEX-N-54" transform="translate(2139,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(2861,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(3361,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(3750,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(4250,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(4528,0)"></use><use data-c="43" xlink:href="#MJX-3-TEX-N-43" transform="translate(4778,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(5500,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(6000,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(6556,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(6945,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(7337,0)"></use><use data-c="63" xlink:href="#MJX-3-TEX-N-63" transform="translate(7837,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(8281,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(8670,0)"></use><use data-c="56" xlink:href="#MJX-3-TEX-N-56" transform="translate(8920,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(9670,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(10170,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(10448,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(11004,0)"></use></g><g data-mml-node="mi" transform="translate(11481,-150) scale(0.707)"><use data-c="1D45B" xlink:href="#MJX-3-TEX-I-1D45B"></use></g></g><g data-mml-node="mo" transform="translate(21788.7,0)"><use data-c="D7" xlink:href="#MJX-3-TEX-N-D7"></use></g><g data-mml-node="msub" transform="translate(22788.9,0)"><g data-mml-node="mtext"><use data-c="43" xlink:href="#MJX-3-TEX-N-43"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(722,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(1222,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(1778,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(2167,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(2559,0)"></use><use data-c="63" xlink:href="#MJX-3-TEX-N-63" transform="translate(3059,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(3503,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(3892,0)"></use><use data-c="56" xlink:href="#MJX-3-TEX-N-56" transform="translate(4142,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(4892,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(5392,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(5670,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(6226,0)"></use></g><g data-mml-node="mi" transform="translate(6703,-150) scale(0.707)"><use data-c="1D45B" xlink:href="#MJX-3-TEX-I-1D45B"></use></g></g></g></g></svg></mjx-container>
<p><strong>Weighted ACV tells you where to look if you want to best understand the revenue of the business.</strong> For example, a WACV of $25,000 tells us roughly that the typical dollar of revenue is generated by a $25,000 customer. Thus, revenue retention/churn and other revenue dynamics of the business will tend toward what we'd expect for those kinds of customers. Revenue-weighting is especially helpful if the company in question has a large number of customers spending little or zero, contaminating the equal-weighted ACV calculation.</p>
<p>Meanwhile, changes in WACV correspond to changing monetization among the largest chunk of the revenue base. Customers with the biggest revenue impact will have the largest influence on WACV, as with net dollar retention.</p>
<p>If we think about a company as a sort of physical object, its "center of mass" is concentrated at its WACV. Logically, if we want to do physics on this thing or model its movement, what matters most is its center of mass (its weighted ACV), not necessarily its literal "center" (equal-weighted ACV). That's where revenue is most "densely" concentrated.</p>
<p>This concept flips standard monetization logic on its head. Instead of saying "the average customer generates X revenue," as if all revenue comes from a single type of customer, WACV says "Y-size customers generate the average dollar of revenue," respecting the fact that certain customers are disproportionately impactful. ACV asks "what's the expected value of a randomly selected <em>customer</em>" while WACV asks "what's the expected contract size associated with a randomly selected <em>dollar of revenue</em>."</p>
<p>As I'll demonstrate in a second, <em>this is really powerful</em>. In a single number, we capture much more information than the equal-weighted ACV metric by accounting for the skew and concentration of the customer base. In statistics parlance, WACV gives us some sense of the <a href="https://www.scribbr.com/statistics/variance/">variance</a> of revenues across customers, rather than merely the mean.</p>
<p>Note: this essay focuses on enterprise SaaS monetization, but you can apply the same concept to B2C and other models. E.g. Average Revenue Per User (ARPU) becomes Weighted ARPU (WARPU), and so on.</p>
<h3>An example worth its weight in revenue</h3>
<p>Two businesses could have the same equal-weighted ACV but wildly different weighted ACVs.</p>
<p>Here's an example to make this vivid.</p>
<p>Imagine two, $50K revenue companies with five customers each, equivalent equal-weighted ACVs, but very different revenue distributions. Company 1 has five equal-sized customers, while Company 2 has a fairly typical skewed distribution, with 20% of customers representing 80% of revenue:</p>
<table>
<thead>
<tr>
<th></th>
<th>Company 1</th>
<th>Company 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Customer 1</td>
<td>$10,000</td>
<td>$40,000</td>
</tr>
<tr>
<td>Customer 2</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td>Customer 3</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td>Customer 4</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td>Customer 5</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td><strong>ACV</strong></td>
<td><strong>$10,000</strong></td>
<td><strong>$10,000</strong></td>
</tr>
<tr>
<td><strong>Weighted ACV</strong></td>
<td><strong>$10,000</strong></td>
<td><strong>$32,500</strong></td>
</tr>
</tbody>
</table>
<p><strong>Notice how sensitive WACV is to the more skewed revenue distribution of the second company.</strong> It's telling us Company 2's large $40K customer is really dictating the revenue dynamics of the company. For Company 2, the typical dollar of revenue will behave like it's coming from a $32.5K customer, not a $10K customer. The standard ACV metric totally misses this.</p>
<p>Now that we've seen how WACV helps us at a single point in time, let's see what happens to the metric <em>over time</em>. Next month, both companies land a large, $100K deal with a new customer:</p>
<table>
<thead>
<tr>
<th></th>
<th>Company 1</th>
<th>Company 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Customer 1</td>
<td>$10,000</td>
<td>$40,000</td>
</tr>
<tr>
<td>Customer 2</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td>Customer 3</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td>Customer 4</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td>Customer 5</td>
<td>$10,000</td>
<td>$2,500</td>
</tr>
<tr>
<td>Customer 6</td>
<td>$100,000</td>
<td>$100,000</td>
</tr>
<tr>
<td><strong>ACV</strong></td>
<td><strong>$25,000</strong></td>
<td><strong>$25,000</strong></td>
</tr>
<tr>
<td><strong>Weighted ACV</strong></td>
<td><strong>$70,000</strong></td>
<td><strong>$77,500</strong></td>
</tr>
</tbody>
</table>
<p>Both metrics increase, but weighted ACV increases by a lot more, reflecting the dominance of the new large customer within the revenue base. The standard ACV calculation unwittingly discounts the effect of large customers, muting their impact.</p>
<p>Again, the weighted version of ACV correctly points us towards the largest customers. The "typical" dollar of revenue for both companies will now behave like it's coming from a roughly $70-80K customer, <em>not</em> a $25K customer.</p>
<p>Lastly, the fact that WACV across the companies has converged suggests their revenue concentration is now much more similar, which is exactly right.</p>
<h3>VICs: Very Important Customers</h3>
<p>One last trick.</p>
<p>Just like dividing total revenue or contract value by ACV yields the total customer count, dividing by weighted ACV tells us something about the customer base. The calculation tells us, on a revenue basis, <strong>how many customers really matter</strong>. In other words, what minority of customers effectively determines overall revenue?</p>
<p>Let's call them <strong>very important customers (VICs)</strong>:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="67.927ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 30023.6 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-4-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-4-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-4-TEX-N-79" d="M69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66Z"></path><path id="MJX-4-TEX-N-20" d=""></path><path id="MJX-4-TEX-N-49" d="M328 0Q307 3 180 3T32 0H21V46H43Q92 46 106 49T126 60Q128 63 128 342Q128 620 126 623Q122 628 118 630T96 635T43 637H21V683H32Q53 680 180 680T328 683H339V637H317Q268 637 254 634T234 623Q232 620 232 342Q232 63 234 60Q238 55 242 53T264 48T317 46H339V0H328Z"></path><path id="MJX-4-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-4-TEX-N-70" d="M36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218Z"></path><path id="MJX-4-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-4-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-4-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-4-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-4-TEX-N-43" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342Z"></path><path id="MJX-4-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-4-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-4-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-4-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-4-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-4-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-4-TEX-N-A0" d=""></path><path id="MJX-4-TEX-N-2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path><path id="MJX-4-TEX-N-57" d="M792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792Z"></path><path id="MJX-4-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-4-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-4-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-4-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-4-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="56" xlink:href="#MJX-4-TEX-N-56"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(750,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(1194,0)"></use><use data-c="79" xlink:href="#MJX-4-TEX-N-79" transform="translate(1586,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(2114,0)"></use><use data-c="49" xlink:href="#MJX-4-TEX-N-49" transform="translate(2364,0)"></use><use data-c="6D" xlink:href="#MJX-4-TEX-N-6D" transform="translate(2725,0)"></use><use data-c="70" xlink:href="#MJX-4-TEX-N-70" transform="translate(3558,0)"></use><use data-c="6F" xlink:href="#MJX-4-TEX-N-6F" transform="translate(4114,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(4614,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(5006,0)"></use><use data-c="61" xlink:href="#MJX-4-TEX-N-61" transform="translate(5395,0)"></use><use data-c="6E" xlink:href="#MJX-4-TEX-N-6E" transform="translate(5895,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(6451,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(6840,0)"></use><use data-c="43" xlink:href="#MJX-4-TEX-N-43" transform="translate(7090,0)"></use><use data-c="75" xlink:href="#MJX-4-TEX-N-75" transform="translate(7812,0)"></use><use data-c="73" xlink:href="#MJX-4-TEX-N-73" transform="translate(8368,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(8762,0)"></use><use data-c="6F" xlink:href="#MJX-4-TEX-N-6F" transform="translate(9151,0)"></use><use data-c="6D" xlink:href="#MJX-4-TEX-N-6D" transform="translate(9651,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(10484,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(10928,0)"></use><use data-c="73" xlink:href="#MJX-4-TEX-N-73" transform="translate(11320,0)"></use></g><g data-mml-node="mo" transform="translate(11991.8,0)"><use data-c="3D" xlink:href="#MJX-4-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(13047.6,0)"><use data-c="54" xlink:href="#MJX-4-TEX-N-54"></use><use data-c="6F" xlink:href="#MJX-4-TEX-N-6F" transform="translate(722,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(1222,0)"></use><use data-c="61" xlink:href="#MJX-4-TEX-N-61" transform="translate(1611,0)"></use><use data-c="6C" xlink:href="#MJX-4-TEX-N-6C" transform="translate(2111,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(2389,0)"></use><use data-c="43" xlink:href="#MJX-4-TEX-N-43" transform="translate(2639,0)"></use><use data-c="6F" xlink:href="#MJX-4-TEX-N-6F" transform="translate(3361,0)"></use><use data-c="6E" xlink:href="#MJX-4-TEX-N-6E" transform="translate(3861,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(4417,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(4806,0)"></use><use data-c="61" xlink:href="#MJX-4-TEX-N-61" transform="translate(5198,0)"></use><use data-c="63" xlink:href="#MJX-4-TEX-N-63" transform="translate(5698,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(6142,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(6531,0)"></use><use data-c="56" xlink:href="#MJX-4-TEX-N-56" transform="translate(6781,0)"></use><use data-c="61" xlink:href="#MJX-4-TEX-N-61" transform="translate(7531,0)"></use><use data-c="6C" xlink:href="#MJX-4-TEX-N-6C" transform="translate(8031,0)"></use><use data-c="75" xlink:href="#MJX-4-TEX-N-75" transform="translate(8309,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(8865,0)"></use><use data-c="A0" xlink:href="#MJX-4-TEX-N-A0" transform="translate(9309,0)"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(22606.6,0)"><g data-mml-node="mo"><use data-c="2F" xlink:href="#MJX-4-TEX-N-2F"></use></g></g><g data-mml-node="mtext" transform="translate(23106.6,0)"><use data-c="A0" xlink:href="#MJX-4-TEX-N-A0"></use><use data-c="57" xlink:href="#MJX-4-TEX-N-57" transform="translate(250,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(1278,0)"></use><use data-c="69" xlink:href="#MJX-4-TEX-N-69" transform="translate(1722,0)"></use><use data-c="67" xlink:href="#MJX-4-TEX-N-67" transform="translate(2000,0)"></use><use data-c="68" xlink:href="#MJX-4-TEX-N-68" transform="translate(2500,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(3056,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(3445,0)"></use><use data-c="64" xlink:href="#MJX-4-TEX-N-64" transform="translate(3889,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(4445,0)"></use><use data-c="41" xlink:href="#MJX-4-TEX-N-41" transform="translate(4695,0)"></use><use data-c="43" xlink:href="#MJX-4-TEX-N-43" transform="translate(5445,0)"></use><use data-c="56" xlink:href="#MJX-4-TEX-N-56" transform="translate(6167,0)"></use></g></g></g></svg></mjx-container>
<p>It turns out, this will be a small fraction of the overall customer count for the typical enterprise software company.</p>
<p>Returning to the first example, total revenue was $50K, while weighted ACV was $10K for Company 1 and $32.5K for Company 2. Thus, Company 1 has 5 VICs while Company 2 has 1.5. This tells us that while Company 1 has five relevant and discernibly important customers, Company 2 only has one or two. This accords with the data – in terms of revenue risk or quality of revenue, Company 2 is effectively a one (point five) trick pony:</p>
<table>
<thead>
<tr>
<th></th>
<th>Company 1</th>
<th>Company 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Total Contract Value</td>
<td>$50,000</td>
<td>$50,000</td>
</tr>
<tr>
<td>Weighted ACV</td>
<td>$10,000</td>
<td>$32,500</td>
</tr>
<tr>
<td><strong>Very Important Customers</strong></td>
<td><strong>5</strong></td>
<td><strong>1.54</strong></td>
</tr>
</tbody>
</table>
<p>In the second example, total revenue is now $150K, with weighted ACV of $70K for Company 1 and $77.5K for Company 2. Some quick math yields ~2 very important customers for each company, reflecting their respective revenue concentration. Said differently, you can summarize the entire revenue profile of each company by looking at the two largest customers:</p>
<table>
<thead>
<tr>
<th></th>
<th>Company 1</th>
<th>Company 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Total Contract Value</td>
<td>$150,000</td>
<td>$150,000</td>
</tr>
<tr>
<td>Weighted ACV</td>
<td>$70,000</td>
<td>$77,500</td>
</tr>
<tr>
<td><strong>Very Important Customers</strong></td>
<td><strong>2.14</strong></td>
<td><strong>1.94</strong></td>
</tr>
</tbody>
</table>
<p>Frankly, I find this much more representative of the volatility of revenue. These companies have serious concentration risk, and from a diversification perspective really only have two customers each.</p>
<p>Public software companies have similar concentration, so the same logic applies: very important customers will only be 30-40% of the overall customer base.</p>
<p>With WACV and VICs, founders with high revenue concentration can now rigorously quantify the number and magnitude of meaningful customer relationships they have while avoiding awkward conversations that go something like, "well... we have X total customers, but only Y many are paying us more than Z per year, so if you remove those then our business is really..."</p>
<h3>Conclusion</h3>
<p>Are there any downsides to weighted ACV?</p>
<p>No, none at all.</p>
<p>Just kidding! The negatives of WACV mirror those of other size-weighting schemes like the S&#x26;P 500: it's extremely sensitive to idiosyncratic fluctuations in your largest customers that may not be representative of the broader customer base or long-lasting in nature.</p>
<p>These are fair critiques. However, all can be easily addressed by calculating <strong>both</strong> weighted and equal-weighted ACV. Coincidently, the difference between the two is a nice measure of customer concentration and the <a href="https://whoisnnamdi.com/software-fat-tailed/">fat-tailedness of monetization</a>: the further apart they are, the more revenue is concentrated among a few customers, and vice versa:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.466ex;" xmlns="http://www.w3.org/2000/svg" width="65.986ex" height="2.086ex" role="img" focusable="false" viewBox="0 -716 29166 922" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-N-57" d="M792 683Q810 680 914 680Q991 680 1003 683H1009V637H996Q931 633 915 598Q912 591 863 438T766 135T716 -17Q711 -22 694 -22Q676 -22 673 -15Q671 -13 593 231L514 477L435 234Q416 174 391 92T358 -6T341 -22H331Q314 -21 310 -15Q309 -14 208 302T104 622Q98 632 87 633Q73 637 35 637H18V683H27Q69 681 154 681Q164 681 181 681T216 681T249 682T276 683H287H298V637H285Q213 637 213 620Q213 616 289 381L364 144L427 339Q490 535 492 546Q487 560 482 578T475 602T468 618T461 628T449 633T433 636T408 637H380V683H388Q397 680 508 680Q629 680 650 683H660V637H647Q576 637 576 619L727 146Q869 580 869 600Q869 605 863 612T839 627T794 637H783V683H792Z"></path><path id="MJX-5-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-5-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-5-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-5-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-5-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-5-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-5-TEX-N-20" d=""></path><path id="MJX-5-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-5-TEX-N-43" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342Z"></path><path id="MJX-5-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-5-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-5-TEX-N-45" d="M128 619Q121 626 117 628T101 631T58 634H25V680H597V676Q599 670 611 560T625 444V440H585V444Q584 447 582 465Q578 500 570 526T553 571T528 601T498 619T457 629T411 633T353 634Q266 634 251 633T233 622Q233 622 233 621Q232 619 232 497V376H286Q359 378 377 385Q413 401 416 469Q416 471 416 473V493H456V213H416V233Q415 268 408 288T383 317T349 328T297 330Q290 330 286 330H232V196V114Q232 57 237 52Q243 47 289 47H340H391Q428 47 452 50T505 62T552 92T584 146Q594 172 599 200T607 247T612 270V273H652V270Q651 267 632 137T610 3V0H25V46H58Q100 47 109 49T128 61V619Z"></path><path id="MJX-5-TEX-N-71" d="M33 218Q33 308 95 374T236 441H246Q330 441 381 372L387 364Q388 364 404 403L420 442H457V156Q457 -132 458 -134Q462 -142 470 -145Q491 -148 519 -148H535V-194H527L504 -193Q480 -192 453 -192T415 -191Q312 -191 303 -194H295V-148H311Q339 -148 360 -145Q369 -141 371 -135T373 -106V-41V49Q313 -11 236 -11Q154 -11 94 53T33 218ZM376 300Q346 389 278 401Q275 401 269 401T261 402Q211 400 171 350T131 214Q131 137 165 82T253 27Q296 27 328 54T376 118V300Z"></path><path id="MJX-5-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-5-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-5-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-5-TEX-N-2D" d="M11 179V252H277V179H11Z"></path><path id="MJX-5-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-5-TEX-N-2248" d="M55 319Q55 360 72 393T114 444T163 472T205 482Q207 482 213 482T223 483Q262 483 296 468T393 413L443 381Q502 346 553 346Q609 346 649 375T694 454Q694 465 698 474T708 483Q722 483 722 452Q722 386 675 338T555 289Q514 289 468 310T388 357T308 404T224 426Q164 426 125 393T83 318Q81 289 69 289Q55 289 55 319ZM55 85Q55 126 72 159T114 210T163 238T205 248Q207 248 213 248T223 249Q262 249 296 234T393 179L443 147Q502 112 553 112Q609 112 649 141T694 220Q694 249 708 249T722 217Q722 153 675 104T555 55Q514 55 468 76T388 123T308 170T224 192Q164 192 125 159T83 84Q80 55 69 55Q55 55 55 85Z"></path><path id="MJX-5-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-5-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-5-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-5-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-5-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-5-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="57" xlink:href="#MJX-5-TEX-N-57"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(1028,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(1472,0)"></use><use data-c="67" xlink:href="#MJX-5-TEX-N-67" transform="translate(1750,0)"></use><use data-c="68" xlink:href="#MJX-5-TEX-N-68" transform="translate(2250,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(2806,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(3195,0)"></use><use data-c="64" xlink:href="#MJX-5-TEX-N-64" transform="translate(3639,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(4195,0)"></use><use data-c="41" xlink:href="#MJX-5-TEX-N-41" transform="translate(4445,0)"></use><use data-c="43" xlink:href="#MJX-5-TEX-N-43" transform="translate(5195,0)"></use><use data-c="56" xlink:href="#MJX-5-TEX-N-56" transform="translate(5917,0)"></use></g><g data-mml-node="mo" transform="translate(6889.2,0)"><use data-c="2212" xlink:href="#MJX-5-TEX-N-2212"></use></g><g data-mml-node="mtext" transform="translate(7889.4,0)"><use data-c="45" xlink:href="#MJX-5-TEX-N-45"></use><use data-c="71" xlink:href="#MJX-5-TEX-N-71" transform="translate(681,0)"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(1209,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(1765,0)"></use><use data-c="6C" xlink:href="#MJX-5-TEX-N-6C" transform="translate(2265,0)"></use><use data-c="2D" xlink:href="#MJX-5-TEX-N-2D" transform="translate(2543,0)"></use><use data-c="77" xlink:href="#MJX-5-TEX-N-77" transform="translate(2876,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(3598,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(4042,0)"></use><use data-c="67" xlink:href="#MJX-5-TEX-N-67" transform="translate(4320,0)"></use><use data-c="68" xlink:href="#MJX-5-TEX-N-68" transform="translate(4820,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(5376,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(5765,0)"></use><use data-c="64" xlink:href="#MJX-5-TEX-N-64" transform="translate(6209,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(6765,0)"></use><use data-c="41" xlink:href="#MJX-5-TEX-N-41" transform="translate(7015,0)"></use><use data-c="43" xlink:href="#MJX-5-TEX-N-43" transform="translate(7765,0)"></use><use data-c="56" xlink:href="#MJX-5-TEX-N-56" transform="translate(8487,0)"></use></g><g data-mml-node="mo" transform="translate(17404.2,0)"><use data-c="2248" xlink:href="#MJX-5-TEX-N-2248"></use></g><g data-mml-node="mtext" transform="translate(18460,0)"><use data-c="43" xlink:href="#MJX-5-TEX-N-43"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(722,0)"></use><use data-c="73" xlink:href="#MJX-5-TEX-N-73" transform="translate(1278,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(1672,0)"></use><use data-c="6F" xlink:href="#MJX-5-TEX-N-6F" transform="translate(2061,0)"></use><use data-c="6D" xlink:href="#MJX-5-TEX-N-6D" transform="translate(2561,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(3394,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(3838,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(4230,0)"></use><use data-c="43" xlink:href="#MJX-5-TEX-N-43" transform="translate(4480,0)"></use><use data-c="6F" xlink:href="#MJX-5-TEX-N-6F" transform="translate(5202,0)"></use><use data-c="6E" xlink:href="#MJX-5-TEX-N-6E" transform="translate(5702,0)"></use><use data-c="63" xlink:href="#MJX-5-TEX-N-63" transform="translate(6258,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(6702,0)"></use><use data-c="6E" xlink:href="#MJX-5-TEX-N-6E" transform="translate(7146,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(7702,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(8091,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(8483,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(8983,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(9372,0)"></use><use data-c="6F" xlink:href="#MJX-5-TEX-N-6F" transform="translate(9650,0)"></use><use data-c="6E" xlink:href="#MJX-5-TEX-N-6E" transform="translate(10150,0)"></use></g></g></g></svg></mjx-container>
<p>In fact, the main disadvantage of revenue-weighting is that it requires knowing the revenue or contract value of <strong>each and every customer</strong>. So an outsider can't calculate the metric; it must be reported by the company. You can often approximate it with just data of the top 30-40% of customers, but that won't be perfect.</p>
<p>If you <em>do</em> have enough information to calculate weighted ACV, you should <em>always</em> do it. WACV contains more information than the standard ACV metric, and by definition you can always calculate the latter if you can calculate the former.</p>
<p><em>If you found this helpful, need help with the calculation, or end up implementing this in your analytics, do let me know!</em></p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Companies Rarely Grow Into Their Valuations]]>
                        </title>
                        <description>
                            <![CDATA[Companies don't catch up to their valuations; their valuations catch up to them.]]>
                        </description>
                        <link>https://whoisnnamdi.com/grow-valuation/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/grow-valuation/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 09 Nov 2021 16:28:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512264775-header-2.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Investors often justify high valuation multiples with the claim that the companies "will grow into their valuations."</p>
<p>It turns out <strong>this rarely happens</strong>.</p>
<p>Most often, companies don't grow fast enough to compensate for rising valuation multiples. Instead, high valuations today imply slower value appreciation in the future, i.e. lower returns.</p>
<p>Thus, companies don't catch up to their valuations; <strong>their valuations catch up to <em>them</em>.</strong></p>
<h3>Expanding on multiple expansion</h3>
<p>Investors can justify rising <a href="https://en.wikipedia.org/wiki/Valuation_using_multiples">valuation multiples</a> with a belief that:</p>
<ul>
<li>growth will be better than expected ("they will grow into their valuation"),</li>
<li>returns will be lower than expected (the valuation will appreciate more slowly), or</li>
<li>multiples will be even higher in the future ("someone else will pay more for this thing")</li>
</ul>
<p>If growth accelerates, valuation multiples fall due to the denominator growing faster than the numerator (revenue or cash flow grows faster than valuation).</p>
<p>On the other hand, if future returns decline, the numerator grows more slowly (valuations grow slower than revenue or cash flow), also causing multiples to fall. Either outcome leads to declining valuation multiples:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -1.989ex;" xmlns="http://www.w3.org/2000/svg" width="59.827ex" height="5.088ex" role="img" focusable="false" viewBox="0 -1370 26443.3 2249" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-2191" d="M27 414Q17 414 17 433Q17 437 17 439T17 444T19 447T20 450T22 452T26 453T30 454T36 456Q80 467 120 494T180 549Q227 607 238 678Q240 694 251 694Q259 694 261 684Q261 677 265 659T284 608T320 549Q340 525 363 507T405 479T440 463T467 455T479 451Q483 447 483 433Q483 413 472 413Q467 413 458 416Q342 448 277 545L270 555V-179Q262 -193 252 -193H250H248Q236 -193 230 -179V555L223 545Q192 499 146 467T70 424T27 414Z"></path><path id="MJX-1-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-76" d="M338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-43" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q322 658 252 588Q173 509 173 342Q173 221 211 151Q232 111 263 84T328 45T384 29T428 24Q517 24 571 93T626 244Q626 251 632 257H660L666 251V236Q661 133 590 56T403 -21Q262 -21 159 83T56 342Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-46" d="M128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619Z"></path><path id="MJX-1-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-1-TEX-N-2192" d="M56 237T56 250T70 270H835Q719 357 692 493Q692 494 692 496T691 499Q691 511 708 511H711Q720 511 723 510T729 506T732 497T735 481T743 456Q765 389 816 336T935 261Q944 258 944 250Q944 244 939 241T915 231T877 212Q836 186 806 152T761 85T740 35T732 4Q730 -6 727 -8T711 -11Q691 -11 691 0Q691 7 696 25Q728 151 835 230H70Q56 237 56 250Z"></path><path id="MJX-1-TEX-N-44" d="M130 622Q123 629 119 631T103 634T60 637H27V683H228Q399 682 419 682T461 676Q504 667 546 641T626 573T685 470T708 336Q708 210 634 116T442 3Q429 1 228 0H27V46H60Q102 47 111 49T130 61V622ZM593 338Q593 439 571 501T493 602Q439 637 355 637H322H294Q238 637 234 628Q231 624 231 344Q231 62 232 59Q233 49 248 48T339 46H350Q456 46 515 95Q561 133 577 191T593 338Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-1-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-1-TEX-N-70" d="M36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="mrow" transform="translate(3404,676)"><g data-mml-node="mtext"><use data-c="56" xlink:href="#MJX-1-TEX-N-56"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(750,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(1250,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(1528,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(2084,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(2584,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2973,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(3251,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(3751,0)"></use></g><g data-mml-node="mo" transform="translate(4584.8,0)"><use data-c="2191" xlink:href="#MJX-1-TEX-N-2191"></use></g></g><g data-mml-node="mrow" transform="translate(220,-686)"><g data-mml-node="mtext"><use data-c="52" xlink:href="#MJX-1-TEX-N-52"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(736,0)"></use><use data-c="76" xlink:href="#MJX-1-TEX-N-76" transform="translate(1180,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1708,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(2152,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(2708,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(3264,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3708,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(3958,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(4458,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(4850,0)"></use><use data-c="43" xlink:href="#MJX-1-TEX-N-43" transform="translate(5100,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(5822,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(6322,0)"></use><use data-c="68" xlink:href="#MJX-1-TEX-N-68" transform="translate(6716,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(7272,0)"></use><use data-c="46" xlink:href="#MJX-1-TEX-N-46" transform="translate(7522,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(8175,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(8453,0)"></use><use data-c="77" xlink:href="#MJX-1-TEX-N-77" transform="translate(8953,0)"></use></g><g data-mml-node="mo" transform="translate(9952.8,0)"><g data-mml-node="text"><use data-c="2191" xlink:href="#MJX-1-TEX-N-2191"></use></g><g data-mml-node="text" transform="translate(500,0)"><use data-c="2191" xlink:href="#MJX-1-TEX-N-2191"></use></g><g data-mml-node="text" transform="translate(1000,0)"><use data-c="2191" xlink:href="#MJX-1-TEX-N-2191"></use></g></g></g><rect width="11652.8" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(12170.6,0)"><use data-c="2192" xlink:href="#MJX-1-TEX-N-2192"></use></g><g data-mml-node="mtext" transform="translate(13448.3,0)"><use data-c="44" xlink:href="#MJX-1-TEX-N-44"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(764,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(1208,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(1652,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(1930,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(2208,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2764,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(3042,0)"></use><use data-c="67" xlink:href="#MJX-1-TEX-N-67" transform="translate(3598,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(4098,0)"></use><use data-c="56" xlink:href="#MJX-1-TEX-N-56" transform="translate(4348,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(5098,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(5598,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(5876,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(6432,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(6932,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(7321,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(7599,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(8099,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(8655,0)"></use><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D" transform="translate(8905,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(9822,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(10378,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(10656,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(11045,0)"></use><use data-c="70" xlink:href="#MJX-1-TEX-N-70" transform="translate(11323,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(11879,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(12157,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(12601,0)"></use></g></g></g></svg></mjx-container>
<p>Think of the "multiples are higher today because multiples will be higher tomorrow" justification as a sort of "bubble mentality" or "<a href="https://en.wikipedia.org/wiki/Greater_fool_theory">greater fools</a>" explanation. Someone else will pay more for this later, so I'm OK paying more today. This of course can't go on for long: bubbles eventually pop; manias eventually subside. So, here too, multiples return to "normal."</p>
<p>These three explanations for valuation multiples are collectively called the <a href="https://www.youtube.com/watch?v=CIMMkDWiqRE">Campbell-Shiller Decomposition</a>, originally conceived in the late 1980s. It lets us cleanly account for changing valuation multiples with changing beliefs about growth, returns, and future multiples. We can even make an equation out of it (<mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.885ex" height="1.62ex" role="img" focusable="false" viewBox="0 -716 833 716" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-N-394" d="M51 0Q46 4 46 7Q46 9 215 357T388 709Q391 716 416 716Q439 716 444 709Q447 705 616 357T786 7Q786 4 781 0H51ZM507 344L384 596L137 92L383 91H630Q630 93 507 344Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="394" xlink:href="#MJX-2-TEX-N-394"></use></g></g></g></svg></mjx-container> = Change):</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.462ex;" xmlns="http://www.w3.org/2000/svg" width="99.528ex" height="2.081ex" role="img" focusable="false" viewBox="0 -716 43991.4 920" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-N-394" d="M51 0Q46 4 46 7Q46 9 215 357T388 709Q391 716 416 716Q439 716 444 709Q447 705 616 357T786 7Q786 4 781 0H51ZM507 344L384 596L137 92L383 91H630Q630 93 507 344Z"></path><path id="MJX-3-TEX-N-56" d="M114 620Q113 621 110 624T107 627T103 630T98 632T91 634T80 635T67 636T48 637H19V683H28Q46 680 152 680Q273 680 294 683H305V637H284Q223 634 223 620Q223 618 313 372T404 126L490 358Q575 588 575 597Q575 616 554 626T508 637H503V683H512Q527 680 627 680Q718 680 724 683H730V637H723Q648 637 627 596Q627 595 515 291T401 -14Q396 -22 382 -22H374H367Q353 -22 348 -14Q346 -12 231 303Q114 617 114 620Z"></path><path id="MJX-3-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-3-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-3-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-3-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-3-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-3-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-3-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-20" d=""></path><path id="MJX-3-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-3-TEX-N-70" d="M36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218Z"></path><path id="MJX-3-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-3-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-3-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-3-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-3-TEX-N-79" d="M69 -66Q91 -66 104 -80T118 -116Q118 -134 109 -145T91 -160Q84 -163 97 -166Q104 -168 111 -168Q131 -168 148 -159T175 -138T197 -106T213 -75T225 -43L242 0L170 183Q150 233 125 297Q101 358 96 368T80 381Q79 382 78 382Q66 385 34 385H19V431H26L46 430Q65 430 88 429T122 428Q129 428 142 428T171 429T200 430T224 430L233 431H241V385H232Q183 385 185 366L286 112Q286 113 332 227L376 341V350Q376 365 366 373T348 383T334 385H331V431H337H344Q351 431 361 431T382 430T405 429T422 429Q477 429 503 431H508V385H497Q441 380 422 345Q420 343 378 235T289 9T227 -131Q180 -204 113 -204Q69 -204 44 -177T19 -116Q19 -89 35 -78T69 -66Z"></path><path id="MJX-3-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-3-TEX-N-46" d="M128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619Z"></path><path id="MJX-3-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-3-TEX-N-47" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q401 658 376 654T316 633T254 592T205 519T177 411Q173 369 173 335Q173 259 192 201T238 111T302 58T370 31T431 24Q478 24 513 45T559 100Q562 110 562 160V212Q561 213 557 216T551 220T542 223T526 225T502 226T463 227H437V273H449L609 270Q715 270 727 273H735V227H721Q674 227 668 215Q666 211 666 108V6Q660 0 657 0Q653 0 639 10Q617 25 600 42L587 54Q571 27 524 3T406 -22Q317 -22 238 22T108 151T56 342Z"></path><path id="MJX-3-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-3-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-3-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-3-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="394" xlink:href="#MJX-3-TEX-N-394"></use></g><g data-mml-node="mtext" transform="translate(833,0)"><use data-c="56" xlink:href="#MJX-3-TEX-N-56"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(750,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(1250,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(1528,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(2084,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(2584,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(2973,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(3251,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(3751,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(4307,0)"></use><use data-c="4D" xlink:href="#MJX-3-TEX-N-4D" transform="translate(4557,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(5474,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(6030,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(6308,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(6697,0)"></use><use data-c="70" xlink:href="#MJX-3-TEX-N-70" transform="translate(6975,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(7531,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(7809,0)"></use><use data-c="73" xlink:href="#MJX-3-TEX-N-73" transform="translate(8253,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(8647,0)"></use><use data-c="54" xlink:href="#MJX-3-TEX-N-54" transform="translate(8897,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(9619,0)"></use><use data-c="64" xlink:href="#MJX-3-TEX-N-64" transform="translate(10119,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(10675,0)"></use><use data-c="79" xlink:href="#MJX-3-TEX-N-79" transform="translate(11175,0)"></use></g><g data-mml-node="mo" transform="translate(12813.8,0)"><use data-c="3D" xlink:href="#MJX-3-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(13869.6,0)"><use data-c="394" xlink:href="#MJX-3-TEX-N-394"></use></g><g data-mml-node="mtext" transform="translate(14702.6,0)"><use data-c="46" xlink:href="#MJX-3-TEX-N-46"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(653,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(1209,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(1598,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(2154,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(2546,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(2990,0)"></use><use data-c="47" xlink:href="#MJX-3-TEX-N-47" transform="translate(3240,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(4025,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(4417,0)"></use><use data-c="77" xlink:href="#MJX-3-TEX-N-77" transform="translate(4917,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(5639,0)"></use><use data-c="68" xlink:href="#MJX-3-TEX-N-68" transform="translate(6028,0)"></use></g><g data-mml-node="mo" transform="translate(21508.8,0)"><use data-c="2212" xlink:href="#MJX-3-TEX-N-2212"></use></g><g data-mml-node="mi" transform="translate(22509,0)"><use data-c="394" xlink:href="#MJX-3-TEX-N-394"></use></g><g data-mml-node="mtext" transform="translate(23342,0)"><use data-c="46" xlink:href="#MJX-3-TEX-N-46"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(653,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(1209,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(1598,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(2154,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(2546,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(2990,0)"></use><use data-c="52" xlink:href="#MJX-3-TEX-N-52" transform="translate(3240,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(3976,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(4420,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(4809,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(5365,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(5757,0)"></use><use data-c="73" xlink:href="#MJX-3-TEX-N-73" transform="translate(6313,0)"></use></g><g data-mml-node="mo" transform="translate(30271.2,0)"><use data-c="2B" xlink:href="#MJX-3-TEX-N-2B"></use></g><g data-mml-node="mi" transform="translate(31271.4,0)"><use data-c="394" xlink:href="#MJX-3-TEX-N-394"></use></g><g data-mml-node="mtext" transform="translate(32104.4,0)"><use data-c="46" xlink:href="#MJX-3-TEX-N-46"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(653,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(1209,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(1598,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(2154,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(2546,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(2990,0)"></use><use data-c="56" xlink:href="#MJX-3-TEX-N-56" transform="translate(3240,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(3990,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(4490,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(4768,0)"></use><use data-c="61" xlink:href="#MJX-3-TEX-N-61" transform="translate(5324,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(5824,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(6213,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(6491,0)"></use><use data-c="6E" xlink:href="#MJX-3-TEX-N-6E" transform="translate(6991,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(7547,0)"></use><use data-c="4D" xlink:href="#MJX-3-TEX-N-4D" transform="translate(7797,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(8714,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(9270,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(9548,0)"></use><use data-c="69" xlink:href="#MJX-3-TEX-N-69" transform="translate(9937,0)"></use><use data-c="70" xlink:href="#MJX-3-TEX-N-70" transform="translate(10215,0)"></use><use data-c="6C" xlink:href="#MJX-3-TEX-N-6C" transform="translate(10771,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(11049,0)"></use><use data-c="73" xlink:href="#MJX-3-TEX-N-73" transform="translate(11493,0)"></use></g></g></g></svg></mjx-container>
<p>Therefore, higher multiples today imply (1) faster growth in the future, (2) lower future returns, or (3) even higher multiples going forward.</p>
<p>Importantly, this works for both forward and backward-looking analysis: changing <em>expectations</em> of future growth, returns, or multiples affect valuations today and changing valuation multiples today also <em>forecast</em> future growth, returns, and multiples. In other words, investors' <strong>subjective</strong> expectations about the future influence valuations today and those valuations also predict the <strong>objective</strong> future itself.</p>
<p>Regardless of the specific cause, valuation multiples eventually <a href="https://www.investopedia.com/terms/m/meanreversion.asp">mean-revert</a>; subjective expectations eventually collide with objective reality.</p>
<h3>Subjective expectations</h3>
<p>Let's start with <em>subjective expectations</em>. When <a href="https://onlinelibrary.wiley.com/doi/10.1111/jofi.13016">researchers</a> decompose variation in price-earnings (PE) ratios into changing expectations about cash flows, discount rates (e.g. expected returns), and future PE ratios using the Campbell-Shiller Decomposition, they find fluctuating cash flow expectations (CF in the table below) explain more than 90% of all movement in valuations ratios, while expected returns (DR) explain little:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515915596-Pasted-image-20211105145313.png" alt="Pasted-image-20211105145313"></p>
<blockquote>
<p>“In the 2003 to 2015 sample, <strong>one-year subjective earnings growth expectations account for virtually all (94%) price-earnings ratio movements.</strong>”<br>
...<br>
“<strong>high prices can largely be accounted for by high expectations for future cash flows.</strong> Cash flow growth expectations are volatile and significantly correlated with prices. In comparison, return expectations are much less volatile and positively correlate with prices, meaning that <strong>high prices cannot come from low discount rates</strong>” — <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3841696">Subjective Cash Flow and Discount Rate Expectations</a></p>
</blockquote>
<p><a href="https://www.ssrn.com/abstract=3740792">Another paper</a> breaks down the expected returns vs growth dynamic between different classes of market participants, finding that sell-side analysts, institutional investors, and corporate CFOs all use growth expectations to explain fluctuating valuations (<mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.464ex;" xmlns="http://www.w3.org/2000/svg" width="1.844ex" height="1.464ex" role="img" focusable="false" viewBox="0 -442 815.3 647" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D454" d="M311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328Z"></path><path id="MJX-4-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D454" xlink:href="#MJX-4-TEX-I-1D454"></use></g><g data-mml-node="mi" transform="translate(510,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-4-TEX-I-1D461"></use></g></g></g></g></svg></mjx-container> in the table below) rather than expected returns (<mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.489ex;" xmlns="http://www.w3.org/2000/svg" width="2.13ex" height="1.489ex" role="img" focusable="false" viewBox="0 -442 941.3 658" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-I-1D707" d="M58 -216Q44 -216 34 -208T23 -186Q23 -176 96 116T173 414Q186 442 219 442Q231 441 239 435T249 423T251 413Q251 401 220 279T187 142Q185 131 185 107V99Q185 26 252 26Q261 26 270 27T287 31T302 38T315 45T327 55T338 65T348 77T356 88T365 100L372 110L408 253Q444 395 448 404Q461 431 491 431Q504 431 512 424T523 412T525 402L449 84Q448 79 448 68Q448 43 455 35T476 26Q485 27 496 35Q517 55 537 131Q543 151 547 152Q549 153 557 153H561Q580 153 580 144Q580 138 575 117T555 63T523 13Q510 0 491 -8Q483 -10 467 -10Q446 -10 429 -4T402 11T385 29T376 44T374 51L368 45Q362 39 350 30T324 12T288 -4T246 -11Q199 -11 153 12L129 -85Q108 -167 104 -180T92 -202Q76 -216 58 -216Z"></path><path id="MJX-5-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D707" xlink:href="#MJX-5-TEX-I-1D707"></use></g><g data-mml-node="mi" transform="translate(636,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-5-TEX-I-1D461"></use></g></g></g></g></svg></mjx-container>):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515917528-Pasted-image-20211105145501.png" alt="Pasted-image-20211105145501"></p>
<blockquote>
<p>“<strong>both Wall Street and Main Street believe... the expected cash flow process is the main economic force driving asset price variations</strong>”<br>
...<br>
“<strong>cash flow expectations alone explain 99% of the price-dividend ratio variation</strong>, while return expectations only explain about 10%.” — <a href="https://www.ssrn.com/abstract=3740792">Subjective Return Expectations</a></p>
</blockquote>
<p>Investors see valuations move and ascribe these gyrations to changing expectations for future business growth. But does the growth ever materialize?</p>
<h3>Objective reality</h3>
<p><strong>Not really:</strong></p>
<blockquote>
<p>“the variance decomposition results reveal that <strong>all three types of investors seem to overestimate how much cash flow variation contributes to the variation in asset prices</strong> when compared to objective measures of return expectations, which show that <strong>discount rate variation should contribute the most to asset price variation</strong>” — <a href="https://www.ssrn.com/abstract=3740792">Subjective Return Expectations</a></p>
</blockquote>
<p>Now we turn to <em>objective reality</em>. The chart below plots expected (solid blue) and realized (dotted green) 1-year earnings growth of the S&#x26;P 500 over the last 40 years. Expected earnings growth consistently exceeds actual growth, implying investors tend to overestimate earnings growth. Notice as well how expected earnings growth tend to show "upside volatility", whereas actual earnings show more downside volatility.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515912609-Pasted-image-20211031150624.png" alt="Pasted-image-20211031150624"></p>
<blockquote>
<p>“<strong>Earnings growth expectations typically fail to predict the change in earnings during busts</strong>, but they do tend to predict recoveries and track future earnings growth reasonably well during normal times.” — <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3841696">Subjective Cash Flow and Discount Rate Expectations</a></p>
</blockquote>
<p>Investors rarely predict poor earnings growth in advance. They often correctly predict strong earnings growth after recessions, but that's kind of cheating isn't it? Quick bounce-backs follow recessions almost universally.</p>
<p>When financial researchers do look-backs, they find that <strong>high valuation multiples precede low returns</strong>. In fact, they literally <em>predict</em> lower returns. Per finance legend <a href="https://www.johnhcochrane.com/">John Cochrane</a>'s <a href="https://www.youtube.com/watch?v=ZDsOiftolUI">2011 Presidential Address at the American Finance Association</a> (apologies for the pixelated 360p screenshot, YouTube was less generous back then):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515919830-Pasted-image-20211105153730.png" alt="Pasted-image-20211105153730"></p>
<blockquote>
<p>"These regressions are telling us that <strong>all variation in price-dividend ratios, all of that volatility, corresponds to variations in expected returns.</strong> None of it corresponds to variation in expected dividend growth and none to rational bubbles or prices that are ever higher."<br>
...<br>
"<strong>The valuation ratio translates one to one to expected returns</strong> and doesn't forecast the cash flows or price change that we might have expected." — John Cochrane</p>
</blockquote>
<p>High valuation multiples correspond to lower returns, and vice versa. After periods of frothy valuations, returns end up lower than expected, bringing lofty valuation multiples back down to reality.</p>
<p>Despite this sobering reality, <strong>investors are extremely stubborn about future return expectations</strong>, even in the face of rising prices. Undeterred by nose-bleed valuations, they continue to expect roughly the same return in all periods, leading actual returns (dotted green) to be much more volatile than expected returns (solid blue), which look nearly constant in comparison (right-hand chart):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515914266-Pasted-image-20211031153941.png" alt="Pasted-image-20211031153941"></p>
<p>Equity investors always expect the same rate of return, regardless of how high or low valuations multiples are today, which doesn't make a ton of sense.</p>
<h3>Waiting for Godot growth</h3>
<p>The data from the public markets is clear: <strong>valuations rise, returns fall.</strong></p>
<p>Investors don't like to think this way, and thus they continue to expect the same return in all periods, leading to inevitable disappointment. Meanwhile, they justify their stubbornness about returns by convincing themselves that growth will save the day. It typically does not.</p>
<p>This data only covers public equity investors. It'd be fair to point out that growth among startups is much more variable than that for public companies, so much so that variation in startup growth could explain much more valuation variation.</p>
<p>That said, I find it hard to believe the future for startups could brighten so dramatically, practically overnight:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515911164-Pasted-image-20211013191138.png" alt="Pasted-image-20211013191138"></p>
<p>If anything, the high variability of startup growth may be a cognitive trap, seducing us to think that herculean growth alone can shoulder weighty valuations.</p>
<p>I think it's past time we in the venture world get serious about the valuation craze. Do we really think the future is so much brighter? Are we merely accepting lower future returns, and if so, do our LPs know this? Is it all just a bubble?</p>
<p>Investors rely too much on growth to justify current valuations and underestimate the risk that higher multiples portend poor returns. Investors like to think companies will grow into their valuations, but more often than not, the stock simply underperforms.</p>
<p>The burden is on venture investors to prove there's something special about the asset class that will help it escape the fateful relationship between valuations and returns we see in public equities.</p>
<p>Until then, growth is just a cop out.</p>
<blockquote>
<p>1/ How investors justify high valuation multiples: "they will grow into their valuation"</p>
<p>Pay it, and growth will come</p>
<p>This rarely happens</p>
<p>Companies don't catch up to their valuations; their valuations catch up to *them* 🤯 <a href="https://t.co/PRbaj8xskc">pic.twitter.com/PRbaj8xskc</a></p>
<p>— Nnamdi Iregbulem (@whoisnnamdi) <a href="https://twitter.com/whoisnnamdi/status/1458872942960398346?ref_src=twsrc%5Etfw">November 11, 2021</a></p>
</blockquote><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[WebAssembly-ing the Pieces: Vectorized’s Data Policy Engine]]>
                        </title>
                        <description>
                            <![CDATA[Rather than ship data to code, which is expensive and latency-prone, why not ship code to the data?]]>
                        </description>
                        <link>https://whoisnnamdi.com/data-policy-engine/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/data-policy-engine/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Sat, 09 Oct 2021 13:00:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512265840-header-1.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>In <a href="https://whoisnnamdi.com/why-developers-love-redpanda/">Why Developers Love Redpanda</a>, I talked about the exciting developments around WebAssembly and how <a href="https://vectorized.io/">Vectorized</a> is leveraging the technology to build it’s Intelligent Data API, <a href="https://github.com/vectorizedio/redpanda">Redpanda</a>:</p>
<blockquote>
<p><a href="https://webassembly.org/"><em>WebAssembly</em></a><em>, or WASM, is one of the most exciting up-and-coming technologies in software development today. WebAssembly lets developers write code in any major language, translate that code to the compact WASM format, and run it on the web with the high performance of a native application.</em></p>
<p><em>Redpanda is one of the first infrastructure technologies to take advantage of WASM, enabling developers to “write and edit code in their favorite programming language to perform one-shot transformations, like guaranteeing GDPR compliance by removing personal information or to provide filtering and simple aggregation functions.”</em></p>
<p><em>JavaScript, Python, Rust, Go — anything that compiles to WebAssembly (basically everything at this point) can be used to transform data. Again the key is accessibility — inline WASM transforms in Redpanda represent just that.</em></p>
</blockquote>
<p>Ever since partnering with Vectorized, we at <a href="https://lsvp.com/">Lightspeed</a> knew that Redpanda was much more than a streaming engine. Redpanda truly is an Intelligent Data API, and it’s <a href="https://vectorized.io/blog/wasm-architecture/">Data Policy Engine</a> unlocks one more piece of that puzzle.</p>
<p>Today, I want to expand on this and talk a bit more about the exciting developments coming down the pipe at Vectorized.</p>
<p>Here's the big idea: rather than ship data to code, which is expensive and latency-prone, why not ship code to the data?</p>
<h2>The keystone problem in streaming</h2>
<p>Streaming has seen a ton of innovation over the last few years, but one area that remains painful today is stream processing. While a full explanation of these difficulties probably warrants its own article, I’ll cover the most salient points here.</p>
<p>The great thing about streaming is the immutable message queue. The not so good thing about streaming is, also, the immutable message queue.</p>
<p>What do I mean by this? The immutability of the message queue is great because it guarantees that data produced to the topic can be replicated one-to-one by simply consuming the whole queue from the start. This lets you effectively “replay” data like a VHS tape and also gives you built-in auditing, since you know the ordering hasn’t changed. It also decouples producers of data from the consumers of that data, letting the two operate independently without significant coordination work.</p>
<p>However, there are some problems. Immutability not only means you *can* consume the data in the same order it was produced — it means you must (at least as implemented today in the Kafka-API world). Further, immutability means one must consume at least as much as was produced, often many times as much, leading to additional costs in the form of network traffic and other resources. These issues can be avoided to some extent by being very diligent in setting up your architecture <strong>a priori</strong>, careful in segregating your use cases, etc., but few do this in practice.</p>
<p>In summary, the things that make streaming great also make stream processing complex and difficult.</p>
<h2>Shipping code to data</h2>
<p>Here’s where WebAssembly comes in. WebAssembly lets us do a small amount of extra compute work to save us a ton of cost in the form of network utilization and latency. Mission critical streams can stay as large as they want without saturating the network.</p>
<p>We’re excited about the power and promise of WebAssembly, and we think it has the potential to do for server-side compute today what JavaScript did for the web in the late 90s. Like JavaScript enabled the shipping of code to the user’s client, WebAssembly lets engineers ship code to the storage engine.</p>
<p>Here’s how.</p>
<p>The Redpanda Data Policies Engine simultaneously extends the Kafka API and what you can do with server-side compute. It’s a server-side compute API for Redpanda that’s compatible with all existing Kafka tooling and the broader ecosystem, including Spark Streaming, Kafka Streams, Flink, and more.</p>
<p>With Data Policies, all your favorite tools can benefit from server-side WebAssembly filters, allowing for easy and simple data scrubbing, cleaning, filtering, normalization and more. As a runtime, WebAssembly allows code to execute inside Redpanda, allowing code to be injected into an active cluster at runtime.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515906527-classical_scrubbing_vectorized_redpanda_graph.png" alt=""></p>
<p>Redpanda Transforms enable extremely low-latency transformations by avoiding the “data ping-pong” that happens in many systems and stream processors today, where data gets sent back and forth between storage and compute, even for very minor operations. Further, Redpanda Transform is built on the <a href="https://v8.dev/">V8 engine</a>, the high-performance JavaScript and WebAssembly engine that also powers Chrome and NodeJS.</p>
<p>Transforms in Redpanda are effectively a stateless <a href="https://medium.com/microsoftazure/data-at-scale-learn-how-predicate-pushdown-will-save-you-money-7063b80878d7">predicate pushdown</a>. In simple terms, that means performance is massively improved by “pushing down” code to the data, only touching the relevant data (and ignoring the rest), cutting down on wasteful network traffic, I/O, and latency.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515908314-galaxy.png" alt=""></p>
<p>Redpanda Transforms are also completely auditable. The controller can report on which specific piece of code is touching which specific piece of data, on which machines, at which topic offsets.</p>
<h2>As easy as one, two, THREE</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515925324-Uppercase_filter.png" alt=""></p>
<p>Few things are simple in data engineering, but, as usual, Vectorized is changing the game. For all the cool things happening under the hood, getting started with Data Policies is shockingly easy.</p>
<p>First, write your policy/transform in a WebAssembly compatible language (read: everything). To make this even easier, Redpanda provides native plugins for inline transforms. In the end, you end up with something that looks like fairly standard (JavaScript in this case) code. Here’s a simple proof of concept: transforming all lowercase alphabetic characters in a record to uppercase:</p>
<pre><code class="hljs language-javascript"><span class="hljs-keyword">import</span> { <span class="hljs-title class_">InlineTransform</span> } <span class="hljs-keyword">from</span> “@vectorizedio/<span class="hljs-title class_">InlineTransform</span>”;
<span class="hljs-keyword">const</span> transform = <span class="hljs-keyword">new</span> <span class="hljs-title class_">InlineTransform</span>();
transform.<span class="hljs-title function_">topics</span>([{“input”: “lowercase”, “output”: ”uppercase”}]):
…
<span class="hljs-keyword">const</span> <span class="hljs-title function_">uppercase</span> = <span class="hljs-keyword">async</span> (<span class="hljs-params">record</span>) => {
    <span class="hljs-keyword">const</span> newRecord = {
        ...record,
        <span class="hljs-attr">value</span>: record.<span class="hljs-property">value</span>.<span class="hljs-title function_">map</span>(<span class="hljs-function">(<span class="hljs-params">char</span>) =></span> {
            <span class="hljs-keyword">return</span> char.<span class="hljs-title function_">toUpperCase</span>();
        }),
    };
    <span class="hljs-keyword">return</span> newRecord;
}
</code></pre>
<p>Next, apply the policy to a Kafka topic. Again this is incredibly straightforward. All it takes is a single terminal command:</p>
<pre><code class="hljs language-bash">> bin/kafka-topics.sh \
— alter — topic my_topic_name \
— config x-data-policy={…}
(redpanda has a tool called `rpk` that is similar to kafka-topics.sh)
</code></pre>
<p>Now, Redpanda handles the rest.</p>
<ul>
<li>Upon a TCP connection to consume from the topic, Redpanda initiates a <a href="https://v8docs.nodesource.com/node-0.8/df/d69/classv8_1_1_context.html">V8 context</a></li>
<li>Bytes are read from disk</li>
<li>Payload is transformed and re-checksumed (ensures Kafka protocol remains unchanged)</li>
<li>Redpanda returns the transformed record</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515922973-Uppercase_filter_2.png" alt=""></p>
<p>Pretty slick.</p>
<h2>Simplicity is the ultimate sophistication</h2>
<p>I’ve <a href="https://medium.com/lightspeed-venture-partners/why-developers-love-redpanda-30bf2f3b8231">talked before</a> about Vectorized’s deep understanding and appreciation for the power of simplicity:</p>
<blockquote>
<p><em><strong>Redpanda abstracts away the complexity that often prevents the typical developer from adopting real-time streaming.</strong></em></p>
</blockquote>
<p>The Data Policy Engine continues that tradition.</p>
<p>This was just an example use case, but they only get more interesting from here. GDPR compliance via masking rules. Encryption at-rest, on-disk. All at runtime, with near-native performance.</p>
<p>Curious to learn more after this quick introduction? <a href="https://twitter.com/emaxerrno/">Alex Gallego</a>, founder of Vectorized, gave a sneak preview of the Data Policy Engine at this year’s Kafka Summit, which you can check out here:</p>
<blockquote>
<p>I'm about to show a sneak preview of on the most anticipated features by the community here, as a sponsored talk.</p>
<p>tl;dr - take an *unmodified spark app* and use a push-down predicate in <a href="https://twitter.com/hashtag/wasm?src=hash&#x26;ref_src=twsrc%5Etfw">#wasm</a> 🤯🤯🤯</p>
<p>Demo at the end.<br>
<a href="https://twitter.com/hashtag/redpanda?src=hash&#x26;ref_src=twsrc%5Etfw">#redpanda</a> <a href="https://twitter.com/hashtag/kafka?src=hash&#x26;ref_src=twsrc%5Etfw">#kafka</a> <a href="https://twitter.com/hashtag/KafkaSummit?src=hash&#x26;ref_src=twsrc%5Etfw">#KafkaSummit</a> <a href="https://t.co/NiL2SNHrvq">https://t.co/NiL2SNHrvq</a></p>
<p>— 🕺💃🤟 Alexander Gallego (@emaxerrno) <a href="https://twitter.com/emaxerrno/status/1438214386124873728?ref_src=twsrc%5Etfw">September 15, 2021</a></p>
</blockquote> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[You Can't Eat Relative Growth]]>
                        </title>
                        <description>
                            <![CDATA[In startup land, we talk way too much about relative growth. We'd do better to ground our thinking in absolute growth.]]>
                        </description>
                        <link>https://whoisnnamdi.com/relative-growth/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/relative-growth/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 23 Sep 2021 09:07:29 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512261584-Pasted-image-20210922213513.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>In 2006, Howard Marks, co-founder of Oaktree Capital Management, published a memo titled "<a href="https://www.oaktreecapital.com/docs/default-source/memos/2006-07-12-you-cant-eat-irr.pdf">You Can't Eat IRR</a>." In doing so, he popularized the idea that <a href="https://www.investopedia.com/terms/i/irr.asp">IRR</a>, or internal rate of return, is a misleading measure of fund performance, as it gives no sense for the amount of capital put to work or the absolute dollars returned to investors:</p>
<blockquote>
<p>"A high internal rate of return does not in and of itself put money in one’s pocket. Only when it’s applied to a material amount of invested capital for a significant period of time does IRR produce wealth"</p>
</blockquote>
<p>I've noticed a similar problem in how we measure and evaluate startup success, particularly <strong>growth rates</strong>.</p>
<p>There are two kinds of growth: <strong>absolute</strong> and <strong>relative</strong>:</p>
<ul>
<li>Absolute growth is the <em>absolute</em> increase in a metric, like dollars of revenue added or customers acquired in a given period. The metric this period minus its value last period gives you the absolute growth:</li>
</ul>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.471ex;" xmlns="http://www.w3.org/2000/svg" width="39.963ex" height="2.09ex" role="img" focusable="false" viewBox="0 -716 17663.5 924" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-1-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-47" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q401 658 376 654T316 633T254 592T205 519T177 411Q173 369 173 335Q173 259 192 201T238 111T302 58T370 31T431 24Q478 24 513 45T559 100Q562 110 562 160V212Q561 213 557 216T551 220T542 223T526 225T502 226T463 227H437V273H449L609 270Q715 270 727 273H735V227H721Q674 227 668 215Q666 211 666 108V6Q660 0 657 0Q653 0 639 10Q617 25 600 42L587 54Q571 27 524 3T406 -22Q317 -22 238 22T108 151T56 342Z"></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-1-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-1-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mtext"><use data-c="41" xlink:href="#MJX-1-TEX-N-41"></use><use data-c="62" xlink:href="#MJX-1-TEX-N-62" transform="translate(750,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(1306,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(1700,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(2200,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(2478,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(3034,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(3423,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3867,0)"></use><use data-c="47" xlink:href="#MJX-1-TEX-N-47" transform="translate(4117,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(4902,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(5294,0)"></use><use data-c="77" xlink:href="#MJX-1-TEX-N-77" transform="translate(5794,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(6516,0)"></use><use data-c="68" xlink:href="#MJX-1-TEX-N-68" transform="translate(6905,0)"></use></g><g data-mml-node="mi" transform="translate(7494,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g></g><g data-mml-node="mo" transform="translate(8077,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="msub" transform="translate(9132.8,0)"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(917,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(1361,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(1750,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2142,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(2420,0)"></use></g><g data-mml-node="mi" transform="translate(2897,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g></g><g data-mml-node="mo" transform="translate(12557.3,0)"><use data-c="2212" xlink:href="#MJX-1-TEX-N-2212"></use></g><g data-mml-node="msub" transform="translate(13557.5,0)"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(917,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(1361,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(1750,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2142,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(2420,0)"></use></g><g data-mml-node="TeXAtom" transform="translate(2897,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(361,0)"><use data-c="2212" xlink:href="#MJX-1-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(1139,0)"><use data-c="31" xlink:href="#MJX-1-TEX-N-31"></use></g></g></g></g></g></svg></mjx-container>
<ul>
<li>Relative growth is measured <em>relative</em> to what came before: "We ended the year with 150% more customers", or "We grew revenue 3X this year." It's effectively unitless, but we tend to measure it in percentages, as in "percentage points of growth." It's the absolute growth divided by the metric's value last period</li>
</ul>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.023ex;" xmlns="http://www.w3.org/2000/svg" width="40.347ex" height="5.097ex" role="img" focusable="false" viewBox="0 -1359 17833.5 2253" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-2-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-2-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-2-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-2-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-2-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-2-TEX-N-76" d="M338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338Z"></path><path id="MJX-2-TEX-N-20" d=""></path><path id="MJX-2-TEX-N-47" d="M56 342Q56 428 89 500T174 615T283 681T391 705Q394 705 400 705T408 704Q499 704 569 636L582 624L612 663Q639 700 643 704Q644 704 647 704T653 705H657Q660 705 666 699V419L660 413H626Q620 419 619 430Q610 512 571 572T476 651Q457 658 426 658Q401 658 376 654T316 633T254 592T205 519T177 411Q173 369 173 335Q173 259 192 201T238 111T302 58T370 31T431 24Q478 24 513 45T559 100Q562 110 562 160V212Q561 213 557 216T551 220T542 223T526 225T502 226T463 227H437V273H449L609 270Q715 270 727 273H735V227H721Q674 227 668 215Q666 211 666 108V6Q660 0 657 0Q653 0 639 10Q617 25 600 42L587 54Q571 27 524 3T406 -22Q317 -22 238 22T108 151T56 342Z"></path><path id="MJX-2-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-2-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-2-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-2-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-2-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-2-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-2-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-2-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-2-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-2-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mtext"><use data-c="52" xlink:href="#MJX-2-TEX-N-52"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(736,0)"></use><use data-c="6C" xlink:href="#MJX-2-TEX-N-6C" transform="translate(1180,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(1458,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(1958,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(2347,0)"></use><use data-c="76" xlink:href="#MJX-2-TEX-N-76" transform="translate(2625,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(3153,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(3597,0)"></use><use data-c="47" xlink:href="#MJX-2-TEX-N-47" transform="translate(3847,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(4632,0)"></use><use data-c="6F" xlink:href="#MJX-2-TEX-N-6F" transform="translate(5024,0)"></use><use data-c="77" xlink:href="#MJX-2-TEX-N-77" transform="translate(5524,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(6246,0)"></use><use data-c="68" xlink:href="#MJX-2-TEX-N-68" transform="translate(6635,0)"></use></g><g data-mml-node="mi" transform="translate(7224,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g></g><g data-mml-node="mo" transform="translate(7807,0)"><use data-c="3D" xlink:href="#MJX-2-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(8862.8,0)"><g data-mml-node="mrow" transform="translate(220,676)"><g data-mml-node="msub"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-2-TEX-N-4D"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(917,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(1361,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(1750,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(2142,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(2420,0)"></use></g><g data-mml-node="mi" transform="translate(2897,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g></g><g data-mml-node="mo" transform="translate(3424.5,0)"><use data-c="2212" xlink:href="#MJX-2-TEX-N-2212"></use></g><g data-mml-node="msub" transform="translate(4424.7,0)"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-2-TEX-N-4D"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(917,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(1361,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(1750,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(2142,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(2420,0)"></use></g><g data-mml-node="TeXAtom" transform="translate(2897,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(361,0)"><use data-c="2212" xlink:href="#MJX-2-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(1139,0)"><use data-c="31" xlink:href="#MJX-2-TEX-N-31"></use></g></g></g></g><g data-mml-node="msub" transform="translate(2432.4,-686)"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-2-TEX-N-4D"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(917,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(1361,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(1750,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(2142,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(2420,0)"></use></g><g data-mml-node="TeXAtom" transform="translate(2897,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(361,0)"><use data-c="2212" xlink:href="#MJX-2-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(1139,0)"><use data-c="31" xlink:href="#MJX-2-TEX-N-31"></use></g></g></g><rect width="8730.7" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p><strong>In startup land, we talk way too much about relative growth.</strong> It muddles our thinking and makes compound, exponential growth seem easier than it really is. <strong>We'd do better to ground our thinking in absolute growth.</strong></p>
<p>Obsessing too much over relative growth injects a number of "bugs" into our thinking:</p>
<ul>
<li>It screws up our language</li>
<li>It makes us forget what startups actually do</li>
<li>It sets up unrealistic expectations</li>
</ul>
<h2>No sense, this makes</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515898670-Pasted-image-20210906134123.png" alt="Pasted-image-20210906134123"></p>
<p>The first problem with the concept of relative growth is that it warps our language in nonsensical ways.</p>
<p>A common scenario: a startup previously growing 100% Y/Y "slows" to 50% the subsequent year.</p>
<p>The board of directors asks "why did growth slow so much?" External investors evaluating the company think, "Wow, they really hit a wall."</p>
<p><strong>But they did no such thing.</strong> Yes the growth rate measured in <em>percentage terms</em> has declined, but the growth measured in terms of <em>dollars of revenue added</em> hasn't slowed at all.</p>
<p>For example, let's say revenue went from $5M to $10M to $15M, which corresponds to 100% growth followed by 50%. Technically, the company added $5M in revenue each year, so growth hasn't slowed, per se. The problem isn't so much that growth "slowed" so much as it is that absolute growth <em>didn't increase</em>, hence the fall in the relative growth rate.</p>
<p>Think back to your high school physics class. Imagine we have an object, say a car, traveling in some direction. That car has a position, x, and a velocity, v. In business terms, imagine the level of revenue (or whatever metric) is the position of that car and it's absolute growth maps to the velocity.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515888065-drawing-2021-09-22-17.21.13.excalidraw.png" alt="drawing-2021-09-22-17.21.13.excalidraw"></p>
<p>As long as that car keeps moving at the same velocity, we would say it neither accelerates nor decelerates. In startup land however, a business growing at constant absolute growth is said to to somehow be <em>decelerating</em> because its relative growth is declining.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515889241-drawing-2021-09-22-17.30.35.excalidraw.png" alt="drawing-2021-09-22-17.30.35.excalidraw"></p>
<p>This is super strange.</p>
<p>In fact, the only way to make sense of this thinking is to measure the size of the business on a logarithmic scale. As I discuss in "<a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">You Don't Understand Compound Growth</a>", a constant slope (velocity, effectively) on a log scale implies constant relative growth. In this view, adding a constant $5M in revenue annually is in fact a declining amount of <em>log revenue</em> added, thus matching the language of deceleration we tend to use.</p>
<p>OK fine, but this subtle rescaling goes completely unsaid. Further, as I'll discuss later on, constant relative growth is fairly unrealistic, yet it is effectively implied by our language on the topic.</p>
<p>We talk as if a reduction in relative growth implies something fundamentally changed about a business. And it would, if that's what companies actually did — that is, grow "relatively". However, more often than not, a decline in relative growth in fact suggests that <strong>not enough changed</strong> about the business.</p>
<h2>As Yoda said, "Grow absolutely. There is no relative"</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515903306-Pasted-image-20210906134610.png" alt="Pasted-image-20210906134610"></p>
<p>The second problem with relative growth is that it misleads us about what businesses fundamentally do.</p>
<p>The fundamental unit of growth is a dollar of additional revenue, not an additional <em>percentage point</em> of growth. In other words, absolute growth is the more fundamental concept. We can calculate a relative growth rate after the fact if we want, but the core result is absolute growth.</p>
<p>Relative growth is merely a derived concept, a way to normalize absolute growth into a metric that can be compared across companies. That's great, and it's a valuable tool. But we seriously pervert the concept when we go from using it as an <em>ex post</em> calculation to thinking that the primary activity of companies is to generate "percentage points of relative growth". That is putting the cart before the horse, the percentage points before the dollars.</p>
<p><strong>Relative growth is not what literally happens.</strong> It's a way to benchmark what happened. <strong>Absolute growth is what actually happened</strong>, what was actually accomplished.</p>
<p><strong>Absolute growth is the "<a href="https://www.amazon.com/gp/product/0062273205/ref=as_li_tl?ie=UTF8&#x26;camp=1789&#x26;creative=9325&#x26;creativeASIN=0062273205&#x26;linkCode=as2&#x26;tag=whoisnn-20&#x26;linkId=e0d8ea2cb4b222b0461b55b48ca46c06">hard thing</a>" that startups must do each and every day.</strong> Relative growth imperfectly normalizes those efforts in order to make them comparable across scales of companies. It falls well short of its own goal. Further, the choice to normalize absolute growth by the previous level of revenue is simply a convention and a somewhat arbitrary choice. Hypothetically we could normalize growth by <em>anything</em>.</p>
<p>The job of the business is to generate absolute growth, to bring in more dollars this year than last year. The most informative information about the team's ability to do that comes from how much they were able to add in the past. Knowing that revenue tripled last year is not in fact informative about the likelihood of revenue tripling this year, because "tripling" is not what the company is in the business of doing. <strong>It's in the business of generating more absolute dollars of revenue each year.</strong> That it tripled last year doesn't really tell you whether it can triple this year. That it added $5M in revenue last year tells you A LOT about the likelihood of generating $5M in additional revenue this year.</p>
<p>Thinking in relative growth terms causes you to lose your sense of scale. Conversely, thinking in absolute growth makes things quite vivid. "How exactly are we going to find $5M in additional revenue next year" is a much more tangible and precise discussion than "How do we grow 80% next year" even if they mean the exact same thing.</p>
<p>The same relative growth rate can describe many different situations. For example, you hear that a company has grown 3X year-over-year, a relative growth metric. That single number is consistent with all of the following scenarios:</p>
<ul>
<li>$300K to $900K</li>
<li>$1M to $3M</li>
<li>$3M to $9M</li>
</ul>
<p>Yet there is nothing similar about any of these growth stories. It is a fundamentally different task (and therefore, accomplishment) to go from $300K in revenue to $900K than to go from $3M to $9M. To describe these in the same terms ("3X growth") is a complete misnomer that obfuscates an incredible amount of context. <em>These are nothing alike.</em> In this way, relative growth represents a <strong>loss of information</strong> compared to absolute growth.</p>
<p>It's seductive to think that, "well, we grew 100% last year so we should expect to grow similarly this year" when in fact the two tasks are completely different. Constant relative growth of 100% two years in a row in fact requires <em>doubling</em> your growth rate in absolute terms because your existing revenue base is now twice as large. Absolute growth is the "real" growth target you need to hit, and for most companies that won't be easy. This is sobering.</p>
<p>Said differently, you can't eat <em>percentage points</em> of growth, you can only eat <strong>dollars</strong> of growth.</p>
<h2>Rational expectations</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515895144-Pasted-image-20210906133733.png" alt="Pasted-image-20210906133733"></p>
<p>It's cliche to point out that <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">humans don't understand compound, exponential growth</a>. In startups we have the opposite problem — people are so familiar with the concept that they apply it everywhere, in situations where exponential growth isn't likely or even plausible.</p>
<p>Exponential growth implies <em>constant relative growth</em>. Rather than seeing relative growth fall off, the business continues to grow at nearly the same rate for multiple periods.</p>
<p>Exponential growth is a great aspirational target to set for companies. Y Combinator does this and it works fantastically for focusing the minds of startup founders. When exponential growth is the goal, one realizes there are really very few ways to achieve it, and most growth hacks won't get the job done.</p>
<p>However, exponential growth is not a rational <em>expectation</em> to have or <em>prediction</em> to make. Few phenomena exhibit this sort of behavior outside of the natural world, like bacteria growing in a petri dish. Modern economies are often modeled as perpetual, exponential growth machines, but for most of human history, economies did not grow exponentially at all. Perhaps it's a fine approximation for a large economy, which aggregates an uncountable set of activities that sum up to something approximating constant exponential growth. But it's certainly not a good model for a single company.</p>
<p>Only at low growth rates is past relative growth predictive of future relative growth. At high growth rates the two are not very correlated at all. A business (or an economy for that matter) that grew 2% last year has a very good chance of growing roughly 2% this year. For a business that grew 200% last year... this year's growth is anyone's guess.</p>
<p>There's nothing inherent about startups that makes them grow exponentially other than the fact that it is easier to pull off for small companies than it is for larger ones. Any other correlation between startups and exponential growth is aspirational and attitudinal: startups grow exponentially because <strong>we will them to</strong>. It is not otherwise a reasonable expectation.</p>
<p>For forecasting purposes, constant absolute growth is a much better "baseline" or "base case" than constant relative growth. Constant relative growth may be a great target for setting the tone in the organization, raising ambitions, etc., but mark my words: it probably won't happen.</p>
<p>Constant growth in absolute terms is totally normal and unremarkable: startups often add similar amounts of revenue as they did the previous year. Constant <em>relative</em> growth is totally <em>abnormal</em>. The idea that a startup growing 100% should somehow manage to grow close to that the subsequent year is a mental bias we tend to have in Silicon Valley that doesn't properly reflect reality. It rarely happens.</p>
<p>It is much more common to see a company go from $5 to 10 to 15 to 20 (constant absolute growth of $5M per year) than go from $5 to 10 to 20 to 40 (constant relative growth of 100% per year). Doing the latter requires a fundamental re-architecture of the company and go-to-market motion every 6 months. Going from $5-10M looks very different than going from $20-40M, even though they both involve a doubling of the business.</p>
<p>I find that founders and operators tend to understand this all too well, while investors consistently underappreciate and underestimate the difficulty of scaling at a constant relative rate.</p>
<p>Operators, by dint of living in the real world, viscerally understand that what got them <em>here</em> won't necessarily get them <em>there</em>. Investors on the other hand like to think of companies "2X-ing year-over-year," as if the 2X relative growth is some fundamental property of the business, like its mass or electric charge. It is not, as they often discover 12 months later.</p>
<p>The investor mentality is in part driven by their relationship with the business. They invest at a certain valuation, and returns are measured relative to that entry price. Founders on the other hand start from <strong>zero</strong> — so they don't really measure themselves "relative" to anything. What matters is building as large a business as they possibly can in absolute terms.</p>
<h2>Deal in absolutes</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515892084-Pasted-image-20210906133514.png" alt="Pasted-image-20210906133514"></p>
<p>To close, I want to make sure I'm not misunderstood in my diatribe against relative growth.</p>
<p>There are actually very good theoretical reasons to focus on relative growth. For example, when relative growth is predictable and easy to pin down, we can use it to calculate the net present value of an asset, which is a direct function of the relative growth of cash flows. This is how discounted cash flow analysis works, for example.</p>
<p>Speaking of assets, the relative growth of asset prices (in other words, returns) is a fundamental building block of modern finance theory and is one of the primary traits that determines how attractive an asset is to potential investors (and the other is the risk or volatility of those returns).</p>
<p>So investors' focus on relative growth is not totally unfounded. That said, these notions all rely on either precisely knowing the relevant parameters (growth, discount rate, etc) or knowing precisely the variability of those metrics (their volatility, variance, etc). This is the world of quantifiable risk, and upon its core principles rests trillions of assets and millions of pages of academic finance research.</p>
<p>But startups do not live in the world of risk, they are squarely domiciled in the world of uncertainty (and the state of Delaware). Here, we barely know what we think we know and reliable invariants are hard to come by. Nothing can be taken for granted, certainly not growth.</p>
<p>So in our board rooms, pitch decks, and quarterly business reviews, let's ground ourselves in the harsh, brutal world of absolutes rather than the theoretically and mathematically convenient domain of relatives. We'll likely do better on both metrics, that way.</p>
<blockquote>
<p>This month I wrote about the difference between absolute and relative growth and the fact that Silicon Valley (esp. VC) focuses WAY too much on the latter</p>
<p>Inspired by an old <a href="https://twitter.com/HowardMarksBook?ref_src=twsrc%5Etfw">@HowardMarksBook</a> memo...<a href="https://t.co/JlIT9T60Y4">https://t.co/JlIT9T60Y4</a></p>
<p>— Nnamdi Iregbulem (@whoisnnamdi) <a href="https://twitter.com/whoisnnamdi/status/1441460616917504008?ref_src=twsrc%5Etfw">September 24, 2021</a></p>
</blockquote><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Do Wealthy Investors Have an Edge?]]>
                        </title>
                        <description>
                            <![CDATA[The super-rich earn more on their investments than the rest of us. 

Something nefarious, or something else?]]>
                        </description>
                        <link>https://whoisnnamdi.com/wealthy-investors-edge/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/wealthy-investors-edge/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 18 Aug 2021 07:47:55 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512259274-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>The super-rich earn more on their investments than the rest of us.</p>
<p>Something nefarious, or something else?</p>
<h2>The rich get richer, faster</h2>
<p>Wealth and financial returns are positively correlated. Here's a plot of average annualized portfolio returns against (<a href="https://en.wikipedia.org/wiki/Logarithm">log</a>) wealth, coming from a <a href="https://conference.nber.org/conf_papers/f155140/f155140.pdf">study</a> using data from <a href="https://addepar.com/">Addepar</a>, a wealth management technology company:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515868702-Pasted-image-20210725110126.png" alt="Pasted-image-20210725110126"></p>
<p>There's a strong positive relationship between wealth and financial returns. To translate the range on the x-axis into something a bit more meaningful, you can think of the left side as representing investors with less than $3 million in assets and the right side representing investors with more than $100M in wealth.</p>
<p>Here are the exact returns at various levels of wealth:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515867369-Pasted-image-20210725105724.png" alt="Pasted-image-20210725105724"></p>
<p>Comparing the &#x3C;$3M group to the >$300M group, <strong>the richest investors earn roughly 2 percentage points more on their investment portfolios annually</strong>, a sizable advantage.</p>
<h2>High class asset classes?</h2>
<p>Richer investors could be allocating their capital to different asset classes than other investors, and that could be driving the return differential.</p>
<p>Is it true that asset allocations differ meaningfully across wealth groups? <strong>Yes</strong>:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515880211-Pasted-image-20210815202907.png" alt="Pasted-image-20210815202907"></p>
<p>Richer investors put more of their money to work in <a href="https://money.usnews.com/investing/investing-101/articles/a-beginners-guide-to-alternative-investments">alternative investments</a> (venture capital, private equity, hedge funds, etc.), private companies (owned directly, not via venture capital or private equity funds), and housing.</p>
<p>However, it turns out that while asset allocations do tend to correlate with wealth levels, the differences in returns cannot be fully or even mostly explained by high-level asset allocation decisions.</p>
<p>To test for this, the authors calculated the expected returns of various wealth groupings based purely on the typical asset allocation of those groups. So stocks are assumed to get the returns of the S&#x26;P 500, bonds are expected to earn the returns of the US Aggregate Bond Index, and so on.</p>
<p>When they do this, they find that the expected returns are not divergent enough to explain the rich investor advantage:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515871024-Pasted-image-20210725110742.png" alt="Pasted-image-20210725110742"></p>
<p>Using this approach, the gap between investors with less than $3M in assets and those with $100M+ is only <strong>0.35 percentage points</strong>, whereas the difference in raw returns was a full <em>2 percentage points</em>. <strong>So asset mix does not even come close to explaining the differences.</strong></p>
<p>We can also look at returns across wealth levels within each asset class. The table below shows the results of a regression of realized returns of individual investors on various wealth buckets, repeated for different asset classes. Interpret the numbers as the annualized returns of that group relative to the returns of investors with less than $3M in assets. For now, focus on panel A at the top:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515874297-Pasted-image-20210725110838.png" alt="Pasted-image-20210725110838"></p>
<p><strong>Richer investors earn significantly higher returns in public equities, alternatives, and privately held companies.</strong> The only major category they don't dominate is fixed income, which perhaps makes some sense given the spread of returns at the individual bonds tends to be much more compressed that other assets.</p>
<h2>You have to risk money to make money</h2>
<p>So what gives? Why do the super rich earn so much more on their investments than everyone else, even after controlling for asset class?</p>
<p>Here's a thought: <strong>is raw, realized returns even the right metric to compare?</strong> (Hint: No)</p>
<p>Risk vs. reward is a classic dynamic in finance. Financial returns compensate investors for risks they take, with riskier investments generating higher returns, which encourages investors to buy them in the first place.</p>
<p>The <a href="https://www.investopedia.com/terms/s/sharperatio.asp">Sharpe Ratio</a> quantifies the degree to which a portfolio earns excess returns relative to the risk undertaken. The Sharpe Ratio divides the excess returns of a portfolio relative to some risk-free asset by the standard deviation of the portfolios excess returns, which represents volatility and risk, yielding "risk-adjusted" returns.</p>
<p>When the researchers do this, the relationship between wealth and returns completely breaks down:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515869711-Pasted-image-20210725110133.png" alt="Pasted-image-20210725110133"></p>
<p>The Sharpe Ratios of wealthier investor portfolios are no better than those of less wealthy investors:</p>
<blockquote>
<p>“having controlled for risk, the point estimates of the Sharpe ratio for very wealthy investors is not higher, and <strong>the relationship between returns and wealth remains statistically insignificant</strong>”</p>
</blockquote>
<p>So wealthy investors earn more but those earnings are explained by more risk-taking.</p>
<p>Remember, this risk-taking is happening within asset classes rather merely than across, so this result implies that the rich are investing in riskier individual assets (e.g. companies) within each category. For example, the wealthiest investors hold a much larger share of their public equity portfolio in individual stocks (vs. ETFs or mutual funds) relative to other investors, leading to more volatile portfolios:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515883495-Pasted-image-20210815223154.png" alt="Pasted-image-20210815223154"></p>
<p>High net worth investors also tend to invest in smaller, higher growth companies, naturally riskier. Interestingly, this behavior generates a lower market "beta" for rich investors in the <a href="https://www.investopedia.com/terms/c/capm.asp">CAPM model</a>, as their portfolios correlate less well with the overall equity market than do those of less wealthy investors, who have betas close to 1:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515885454-Pasted-image-20210815224634.png" alt="Pasted-image-20210815224634"></p>
<blockquote>
<p>“Higher-wealth households load more heavily on the SMB factor, reflecting an <strong>increased focus on small-cap companies</strong>. High net worth portfolios also load more negatively on the HML factor, meaning that they have <strong>more exposure to growth companies</strong> than lower wealth investors.”</p>
</blockquote>
<h2>Looking at all the alternatives</h2>
<p>There's one more wrinkle though. Here's that last table again, showing returns across wealth groups and asset classes. This time focus on panel B, which focuses on risk-adjusted returns:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515872633-Pasted-image-20210725110838-1.png" alt="Pasted-image-20210725110838-1"></p>
<p><strong>For public equities and privately-held companies, controlling for risk largely eliminates / accounts for the return premium earned by wealth investors.</strong> However, accounting for risk doesn't totally do the trick for alternative investments, where richer investors do better even taking risk into account. In fact, less wealthy investors do <em>so</em> badly in alternatives that the average investor with less than $3M in assets only earned an annualized return of 1.75%, which is not much higher than the risk-free rate during the same period of 1.33%, despite taking on significant risk.</p>
<p>We can dive a layer deeper by examining the returns across subgroups within alternatives, primarily hedge funds, venture capital and private equity, and real estate. <strong>Richer investors earn higher raw and risk-adjusted returns in hedge funds and VC/PE</strong> but do no better in real estate, where they actually earn <em>lower</em> risk-adjusted returns:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515878456-Pasted-image-20210725113425.png" alt="Pasted-image-20210725113425"></p>
<p><strong>The least wealthy earn less than 1% annually on their hedge fund, venture capital, and private equity investments</strong>, which is stunning.</p>
<p>It's hard to pinpoint the exact drivers of the alternative investments advantage of the richest investors. What we do know is that the alternative investment portfolios of the richest investors differ quite substantially from those of less wealthy investors:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515881547-Pasted-image-20210815213652.png" alt="Pasted-image-20210815213652"></p>
<p>For example, investors in the sub-$3M group have only two alternative investments on average, while the $100M+ group has <strong>35</strong>. On that basis alone we would expect the better diversification to generate lower volatility for the richest investors and potentially even higher returns based on my argument in "<a href="https://whoisnnamdi.com/vcs-index-invest/">Why Don't VCs Index Invest?</a>" (citing <a href="https://angel.co/blog/venture-returns">Abe Othman</a>):</p>
<blockquote>
<p>... investors increase their expected return by indexing as broadly as possible at the seed stage (i.e., by putting money into every credible deal), because any selective policy for seed-stage investing—absent perfect foresight—will eventually be outperformed by an indexing approach.</p>
</blockquote>
<p>Another quirk: <strong>the alternatives positions of richer investors are updated much less frequently</strong>, meaning the valuations at which the companies are held are updated less often. This makes the portfolios of richer investors appear less volatile. Further, as folks in the industry know, companies that are doing well will typically see their valuations rise faster and their carrying values updated more frequently. So less updating means less volatility, and any volatility they do see is largely to the upside:</p>
<blockquote>
<p><strong>The smoothed returns of private equity understate the true economic risk</strong> and are an artifact of the lack of mark-to-market for illiquid assets — <a href="https://www.aqr.com/Insights/Research/White-Papers/Demystifying-Illiquid-Assets-Expected-Returns-for-Private-Equity">Demystifying Illiquid Assets: Expected Returns for Private Equity</a></p>
</blockquote>
<p>Still, having stared at the data for a while, my sense is the alternative advantage represents a real returns premium and isn't merely an artifact of mark-to-market gamesmanship. Let's keep digging.</p>
<h2>Real estate: location, location, location. Alternatives: access, access, access</h2>
<p>We've crossed out anything nefarious in all the other asset classes. In all asset classes outside of alternatives, wealthier investors earn higher returns in the same way anyone earns them — by taking more risk. But alternatives remain a mystery. What's going on there?</p>
<p><strong>Is it skill?</strong> Probably not, at least not in traditional sense of "stock picking". Most investments in alternatives are intermediated by managers — hedge, venture capital, and private equity funds — who make the actual investments. Therefore, it's unlikely that better stock picking ability on the part of the wealthy investors themselves explains their enhanced returns.</p>
<p>But that's also why the returns gap is <em>so strange</em>. If the individual investor is not actually making the investments, then why should their personal net worth correlate so highly with their portfolio returns in alternatives? The only explanation is differences in skill at picking great managers or access to those managers across wealth levels:</p>
<blockquote>
<p>"Higher-wealth investors may receive preferential access to better-performing managers because they can offer larger amounts of funds at once, which reduces marketing and related overhead costs to the fund manager... In contrast, lower-wealth investors may only receive access to hedge fund and private equity solutions that are distributed through advanced marketing networks and are originated by large platform operators. However, <strong>funds that provide more accessibility may deliver worse performance</strong>"</p>
</blockquote>
<p>For example, the authors find that <a href="https://www.investopedia.com/terms/f/fundsoffunds.asp">fund-of-funds</a>, investment funds that invest in other funds rather than in securities directly, earn "almost exactly two percentage points lower" returns on an annualized basis "evidence for fees imposed by additional layers of management." Another piece of evidence — the fewer investors who hold the same alternatives security, the higher than returns, and vice versa: "assets with limited investor participation are significantly related to higher investment returns." In other words, <strong>exclusivity generates better returns</strong>. This points to the importance of access.</p>
<p>One highly suggestive piece of evidence comes from the returns of investors whose funds are managed by a single family office (SFO), which is an investment firm setup solely to manage the wealth and investments of a single family or person. <strong>Portfolios managed by family offices earn significantly higher returns</strong> than portfolios of investors in the same wealth bracket who do not have a family office. Not only that, the return differential across wealth groups disappears when we look only at portfolios managed by family offices:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515876555-Pasted-image-20210725112023.png" alt="Pasted-image-20210725112023"></p>
<p>Depending on the asset class, among portfolios managed by family offices, investors with less than $3M in assets earn <strong>more</strong> than investors with over $100M in assets:</p>
<blockquote>
<p>"While lower-wealth investors earn substantially lower returns on their hedge fund and private equity investments than ultra-high net worth investors, <strong>this does not apply to investors with smaller portfolios that are managed by an SFO</strong>. Even SFO investors with less than three million, or 3-10 million earn roughly the same return as those with more than 100 million on their investments in hedge funds and private equity, and <strong>substantially more than investors in the same wealth brackets but without SFO management.</strong>"</p>
</blockquote>
<p>Something about the nature of family offices and their influence on manager selection causes the wealth-returns relationship to disappear entirely. The study's authors speculate that this "likely [relates] to the difficulty of identifying and <strong>accessing</strong> high-performing alternative investment funds."</p>
<p><strong>Access to assets matters.</strong> In the public markets, access is effectively democratized, so we can completely explain the advantage of richer investors in the public markets via differential risk-taking. However, the advantage in alternative assets reflects more than mere risk tolerance or preference. Ironically, family offices, which likely <em>exacerbate</em> inequality between the rich and the rest, <strong>level the playing field *among* the rich</strong>.</p>
<h2>The 1% vs. the 0.1%</h2>
<p>So do wealthy investors have an edge? Relative to non-wealthy, not really. It's risk-loving turtles all the way down.</p>
<p>But do the wealthiest have an edge versus their somewhat less wealthy peers? Yes, though I won't lose much sleep over it. It's an <strong>access advantage</strong>, and it's limited to the assets where access remains important: the relatively opaque and exclusive worlds of hedge funds, venture capital, and private equity.</p>
<p>Candidly, I'm more focused on expanding access to these alternative asset classes in general than on helping already well-off investors get access to the best funds. That said, the excess returns of alternatives are quite low for investors with only a few million in assets. On that basis, they aren't much better than public equities except for the extremely wealthy.</p>
<p>If these new investors only receive access to the worst-performing funds, the effort will be worthless. Worth pondering further.</p>
<blockquote>
<p>The super-rich earn more on their investments than the rest of us.</p>
<p>In the battle between the 1% and the 0.1%, the richest get richer, faster.</p>
<p>Something nefarious? Or something else?<a href="https://t.co/Mc8imZTiH3">https://t.co/Mc8imZTiH3</a></p>
<p>— Nnamdi Iregbulem (@whoisnnamdi) <a href="https://twitter.com/whoisnnamdi/status/1428770455414992899?ref_src=twsrc%5Etfw">August 20, 2021</a></p>
</blockquote>
<p><em>Thanks to <a href="https://www.lse.ac.uk/finance/people/faculty/Balloch">Cynthia Balloch</a> and <a href="https://sites.google.com/site/julianrichers/home">Julian Richers</a>, the authors of the study from which much of this essay is derived.</em></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[PhDs Aren't Starting Companies Like They Used To]]>
                        </title>
                        <description>
                            <![CDATA[The burden of scientific knowledge and managerial complexity is crushing our best and brightest.]]>
                        </description>
                        <link>https://whoisnnamdi.com/phd-founders/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/phd-founders/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 08 Jul 2021 07:01:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512257557-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>The burden of scientific knowledge and managerial complexity is crushing our best and brightest.</p>
<p>STEM PhDs aren't starting companies like they used to. Meanwhile, fresh PhD founders earn <em>less</em> than they did 20 years ago.</p>
<p>Cushy tech jobs are looking better and better to our most highly-educated as entrepreneurship loses its relative attractiveness.</p>
<p>Here's why.</p>
<h2>Two decades of declining PhD entrepreneurship</h2>
<p><a href="https://www.nber.org/papers/w27787">STEM PhDs are creating fewer startups than they used to</a>:</p>
<blockquote>
<p>"<strong>We... show a decline over the past 20 years in both the rate of startups founded and the share of employment at startups by the highest-educated science and engineering portion of the U.S. workforce.</strong> The declines are wide-ranging and not driven by any particular founder demographic category or geographic region or scientific discipline."</p>
</blockquote>
<p>Here's what the data shows: today, of STEM PhDs working in the private sector, only ~20% start companies, down from 30%+ in the late 90s:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/izoe3lP-QH.png" alt="izoe3lP-QH"></p>
<blockquote>
<p>"Figure 1 displays the large decline over the past two decades in the share of founders among PhDs in science and engineering. <strong>In 1997, 34 percent reported being a founder of a startup, but by 2017 this rate had declined to 21 percent, a decline of 38 percent.</strong>"</p>
</blockquote>
<p>Further, STEM PhDs are joining startups at lower rates in general, even outside of founder roles. <strong>Startups are much less attractive to PhDs than they used to be.</strong> This is true across demographic groups (gender, race, location, citizenship, etc.):</p>
<blockquote>
<p>"Since 1997, the share of founders in these startups has declined by around 38 percent, not limited to any particular founder demographic or ethnic group or occupation, and this decline is widespread across regions of the United States. The share of workers at startups has followed the same path of decline."</p>
</blockquote>
<blockquote>
<p>"<strong>the employment share of science and engineering PhDs at startups is also falling over time.</strong> The downward trend is not driven by any particular category of PhDs. For example, figures similar to Figure 1 for males versus females, whites versus non-whites, California versus the rest of the U.S., and for U.S. versus non-U.S. born PhDs differ in levels but their dynamics are almost exactly the same as those in Figure 1... <strong>The dramatically falling share of founders and employment at startups raises the prospect of a drying up of high-tech, high-opportunity startups.</strong>"</p>
</blockquote>
<p>Why the change of heart among our PhD graduates? As the study authors speculate:</p>
<blockquote>
<p>"A potential source of this decline is the exponential increase in the amount of scientific knowledge."</p>
</blockquote>
<p>As the fields from which these PhDs come have become increasingly complex and extensive over time, the amount of scientific knowledge one must cram in to operate at the cutting edge of the field has exploded. Take any field and you see the same trend — becoming an "expert" is much, much harder than it used to be, and this burden of scientific knowledge weighs on potential founders.</p>
<p>Not only are fewer PhDs starting or joining startups, they're also waiting longer after completing their graduate coursework to found companies:</p>
<blockquote>
<p>"Consistent with the burden of knowledge increasing for founders, <strong>the years of work experience among founders shows a steady increase.</strong> The regression results imply that <strong>the average founder had about 14 percent longer post-PhD work experience in 2017 than in 1997.</strong>"</p>
</blockquote>
<p>Here again we see the impact of the burden of scientific knowledge. With so much existing research and scientific knowledge out there to assimilate, PhD graduates are delaying entrepreneurship, taking more time to gather work experience before setting off on their own.</p>
<h2>Learn to earn</h2>
<p>Even worse, relative to their more experienced peers, newly minted PhDs who do found startups earn much less than they used to, making founding a company an even less appealing proposition:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/Jy9Ww_-fUd.png" alt="Jy9Ww_-fUd"></p>
<blockquote>
<p>"Figure 2 illustrates <strong>a pronounced decline over time in the earnings of less experienced founders relative to their more experienced peers.</strong> Here, we separate less and more experienced founders by the median number of years after PhD (13 years), although other reasonable cut-offs lead to similar results. Between 1997 and 2001, founders with post-PhD experience at or below the median earned more... but by the 2010s, the situation is reversed, with <strong>less experienced founders earning on average 30-40 percent less than other founders. Prior work experience apparently is becoming much more valuable for founders over time.</strong>"</p>
</blockquote>
<p>The figure compares the earnings of PhD founders with below-median and above-median work experience and demonstrates that this ratio has fallen meaningfully over the past two decades. Whereas the groups used to have earnings parity, today young PhD founders suffer a significant earnings disadvantage relative to their more experienced peers, making 30-40% less.</p>
<p>Absolute earnings for the highly-educated in general have risen over the same period, so this might not be terrible news. Young PhD founders could still earn more than they used to in absolute terms.</p>
<p><strong>Not so.</strong> Earnings for PhD founders with below-median work experience <strong>declined</strong> in real (inflation-adjusted) terms, from $73K in 1997 to only ​$58K in 2017, <strong>a 20%+ pay cut</strong>:</p>
<blockquote>
<p>"<strong>The earnings of less experienced founders declined not just in relative but also in absolute terms.</strong> The average inflation-adjusted earnings of founders with below the median post-PhD experience were $72,616 in 1997, whereas 20 years later their earnings were ​$57,517, <strong>a decline of more than 20 percent</strong>"</p>
</blockquote>
<p>The earnings of young STEM PhD founders are their <em>lowest level</em> in more than 20 years.</p>
<p>What if we combine both inexperienced and experienced founders and look at the overall trend in PhD founder earnings? Surely this has trended positively?</p>
<p>Nope:</p>
<blockquote>
<p>"Founders' earnings decline on average by about 1.6 percent per year (column 1). However, this is offset by an opposite time trend in returns to experience. The mean number of years after founders receive a PhD is 15.9 years; hence... at the mean work experience, the negative baseline time trend is completely offset."</p>
</blockquote>
<p>OK, this takes a bit of unpacking. Earnings for less experienced PhD founders have fallen, while more experienced founders have seen rising earnings. The breakeven point is ~15 years, which is to say founders with fewer than 15 years of post-PhD experience have seen declining real earnings over time, while founders with more than 15 years of experience have seen earnings growth. It just so happens the average PhD founder in the survey had 15.9 years of post-PhD experience, so the two stories roughly balance out.</p>
<p><em>The good news:</em> overall PhD founder earnings aren't declining! <em>The bad news:</em> PhD founder earnings aren't rising either!</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/Real-Earnings-of-PhD-Founders--1619555660589.svg" alt="Real-Earnings-of-PhD-Founders--1619555660589"></p>
<p>The craziest thing about all this? PhD <em>employees</em> are doing much better:</p>
<blockquote>
<p>"In stark contrast to founders, <strong>workers' real earnings grow over time</strong>, although the increase is relatively small, 0.4 percent per year... The trend toward increasing returns to experience is much weaker among workers than among founders..."</p>
</blockquote>
<p>Again, let's unpack. STEM PhDs who work at established companies rather than startups have seen their earnings rise across the board, regardless of experience level:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/Real-Earnings-of-PhD-Workers-1619555855360.svg" alt="Real-Earnings-of-PhD-Workers-1619555855360"></p>
<p>As discussed earlier, founding a company as a young PhD is less attractive than it used to be. While young PhD founders used to make slightly more than young PhDs at established firms, this relationship has completely reversed, with inexperienced PhD founders now earning significantly less than their less entrepreneurial associates:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/Real-Earnings-of-Inexperienced-PhDs-1619556012742.svg" alt="Real-Earnings-of-Inexperienced-PhDs-1619556012742"></p>
<p>In summary, <strong>new PhD founders get the worst deal</strong>, earning less than both their equally and more experienced peers:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/Real-Earnings-of-PhDs-1619556257369.svg" alt="Real-Earnings-of-PhDs-1619556257369"></p>
<p>That was all a bit complicated, so before moving on, let's summarize the trends.</p>
<ul>
<li>Previously, experience mattered most within established companies, but over time the "gains from experience" grew much more for founders than workers</li>
<li>Experienced PhD founders went from being no better off than their less experienced peers to earning significantly more, whereas the gap between experienced and inexperienced PhD employees stayed relatively stable.</li>
<li>Inexperienced PhD founders used to make more than inexperienced PhD workers, but this relationship has flipped</li>
<li>Inexperienced PhD founders are now the worst-paid PhDs</li>
</ul>
<h2>The division of tasks</h2>
<p>So far we've established:</p>
<ol>
<li>
<p>PhDs are founding far <em>fewer</em> companies, and</p>
</li>
<li>
<p>When they do found companies, young PhD graduates earn <em>much less</em> than they used to and significantly less than peers working at established companies</p>
</li>
</ol>
<p>Not good. But it couldn't get any worse for our youthful, bright, wide-eyed PhDs could it?</p>
<p>Turns out, it can.</p>
<blockquote>
<p>"<strong>established firms have an advantage over startups in creating a division of labor in R&#x26;D</strong>... by introducing more hierarchical layers, reducing knowledge workers' span of control, and allocating more experienced workers to positions with greater managerial responsibility. Further, established firms compensate workers for performing more R&#x26;D tasks and supervising more individuals. These developments are not seen among founders. <strong>The differences follow from the natural limits imposed by running a small firm with less division of labor and a high amount of multitasking by the founder.</strong> The largest firms are even more active in reorganizing job tasks, increasing the depth of hierarchy at twice the rate of all established firms."</p>
</blockquote>
<p>Big Tech and other large companies have become more attractive places to innovate for our most well-educated workers. Large companies have better dealt with the accumulated burden of scientific knowledge by enforcing a "division of labor" among employees. Large companies form <em>"knowledge hierarchies"</em>, such that no one person needs to know everything, and information can be aggregated up the chain in a rationale fashion. This lets organizations to scale to meet the needs of cutting edge scientific research and development, which increasingly incorporates impossibly vast sums of knowledge.</p>
<p>On the other hand, startup founders do not have armies of willing cadets to offload and delegate to. They are the captain of the ship and also it's most valuable crewmember, so as the burdens of both scientific knowledge and management complex grow, it all gets placed on their shoulders.</p>
<p>The job of a founder has gotten harder — running a startup today requires more management and R&#x26;D activities than it did 20 years ago. Quantified, this is about 15% more "tasks", with <strong>R&#x26;D tasks growing by about 50% and management tasks growing 5%</strong>:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/fig3a.png" alt="fig3a"></p>
<blockquote>
<p>"The average number of all tasks for founders increased by about 15 percent from the beginning to the end of our sample, a statistically significant difference... Furthermore, although the number of both R&#x26;D and management tasks increased, the increase is more pronounced in <strong>R&#x26;D, for which it rose by more than 50 percent from 1997 to 2017</strong>... As a result, R&#x26;D tasks that comprised about 25 percent of all tasks conducted by founders in 1997 increased to 34 percent of all tasks in 2017. As can be seen in Figure 3, this was not accompanied by any decline in management tasks, so the founders had to shoulder the burden of doing more R&#x26;D tasks while also running the same or more administrative tasks."</p>
</blockquote>
<p>PhD workers at established firms also saw their total tasks grow, but to a lesser degree. <strong>R&#x26;D tasks for workers only grew 12% over the same 20 year period, and management tasks did not increase at all</strong>:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/fig3b.png" alt="fig3b"></p>
<blockquote>
<p>"Workers were also affected by the need to perform more R&#x26;D tasks, as the increase in the number of R&#x26;D tasks from 1997 to 2017 is about 12 percent. Notably, however, as the figure reveals, workers did not need to handle more management tasks, which remained relatively flat for them."</p>
</blockquote>
<p>What gives? It goes back to the division of labor point I mentioned earlier. Let's start with R&#x26;D:</p>
<blockquote>
<p>"The number of R&#x26;D tasks is rising, but <strong>established firms take advantage of a division of labor and knowledge hierarchies</strong>"</p>
</blockquote>
<p>The growing burden of scientific knowledge increases the number of R&#x26;D tasks that founder must occupy themselves with. With little hierarchy or staff to offload this work, <strong>founders have no operating leverage</strong>. Conversely, large, established firms can shift much of the burden to armies of researchers, more efficiently dealing with the growing stack of research output.</p>
<blockquote>
<p>"<strong>We find that the number of different R&#x26;D tasks has increased more for founders than for workers.</strong> And the returns to experience have increased over time for founders but not for workers, <strong>highlighting the increasing need for a single person—the founder—to cope with the burden of knowledge in startups.</strong> Workers at established firms have, instead, comfortably narrowed their span of control, employed more people indirectly under their control to support their work, and kept administrative duties low. They are also better rewarded for taking on more diverse work and managerial responsibilities than founders. ...<strong>established firms have coped more effectively with the increasing burden of knowledge in science by better utilizing the division of labor in innovative work through reorganizing tasks and hierarchies.</strong>"</p>
</blockquote>
<p>Individual workers at established firms have limited scope, while the remaining load gets shared with other team members and subordinates. Further, the firm captures the gains from the successful division of labor and then shares this with employees in the form of better pay for the managers who corral these efforts internally.</p>
<blockquote>
<p>"Running a startup might constrain founders' ability to organize its hierarchy efficiently, at least until it has succeeded in growing well beyond its initial size. As science accumulates more knowledge, we would therefore expect PhD founders to have to take on more R&#x26;D tasks."</p>
</blockquote>
<p>Founders have no ability to pull off similar organizational tricks until their startups reach meaningful scale. Thus, as scientific knowledge has accumulated, they've taken on the additional R&#x26;D work themselves.</p>
<p>This has implications for startup management too:</p>
<blockquote>
<p>"Also, <strong>founders had to deal with significantly more management tasks than workers</strong> in terms of levels: about 30-40 percent more at the beginning of the study period, <strong>increasing to 50 percent more at the end</strong>. The explanation for this difference likely lies in how the two types of firms differ in their organization of work..."</p>
</blockquote>
<p>Founders and startups cannot afford the overhead that comes with increasing layers of professional management. This is why startup's delay building executive teams until at least a few years into a startup's lifecycle. Large organizations can and do invest in these management layers, gladly taking on the extra expense:</p>
<blockquote>
<p>"... the firm responds by increasing the number of layers... and... [allowing] greater job specialization. Increasing the number of layers of management adds a fixed cost of operations... <strong>[Larger] firms are more likely to become hierarchically taller by adding more layers of management... as they can more easily absorb the added fixed cost.</strong> Founders at startups appear not to have recourse to this mitigation strategy."</p>
</blockquote>
<p>The study's authors quantify these additional layers by tracking two metrics:</p>
<ul>
<li>the number of individuals <em>directly</em> supervised by PhD founders and workers, and</li>
<li>the number of individuals <em>indirectly</em> supervised (i.e. supervised by one's own direct reports)</li>
</ul>
<p>The directly supervised corresponds to the <strong>managerial burden</strong> that each PhD-holder has (their span of control), while the indirectly supervised tells us how much <strong>managerial leverage</strong> each person has (the depth of hierarchy). The theory would suggest that workers within organizations should have fewer direct reports over time and more indirect reports, as organizations build out these knowledge hierarchies.</p>
<p>And that's exactly what we see:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/blog/phd-founders/managerial.png" alt="managerial"></p>
<ul>
<li>
<p>Workers with PhDs saw the number of employees directly managed <em>decline</em> over time while the number of employees indirectly managed <em>increased</em> over time. In others words, <strong>the proliferation of middle management reduces the management burden for any individual worker but increases overall managerial leverage.</strong></p>
</li>
<li>
<p>Founders on the other hand saw no statistically significant trend in their span of control or depth of hierarchy. <strong>The organizational structure of startups has not evolved to keep up with the increased burden of scientific knowledge.</strong></p>
</li>
</ul>
<blockquote>
<p>"workers [perform] fewer R&#x26;D tasks as they age... the span of control decreases for workers at established firms... However... hierarchies deepen over time for workers at established firms... Together, the results suggest that <strong>established firms cope with the increasing burden of knowledge on their workers by introducing additional layers of hierarchy, while simultaneously reducing the number of employees who report directly to managers</strong>"</p>
</blockquote>
<h2>Doing *too many* things that don't scale</h2>
<p>We need to think harder about making knowledge work... work.</p>
<p>In summary:</p>
<blockquote>
<p>"Our findings suggest that if the goal is to restore business dynamism in the high-tech sector, <strong>alleviating the burden of knowledge should be front and center</strong> in the strategy to attain it."</p>
</blockquote>
<p>The declining in PhD entrepreneurship mimics a broader drop in startup formation chronicled elsewhere. But PhD founders are special... and so these trends are especially worrying.</p>
<p>STEM PhDs have founded some of the world's most successful and impactful enterprises. Among them: Google, Intel, VMware, and others.</p>
<p>Ironically, however, today these same companies gobble up the brightest minds we have, discouraging or delaying their own entrepreneurial pursuits.</p>
<p>In Silicon Valley we talk a lot about management practices to help founders and executives "scale." But deeply technical founders face a separate but equally important problem: scaling <em>knowledge</em>.</p>
<blockquote>
<p>PhDs aren't starting companies like they used to</p>
<p>Cushy tech jobs are more and more attractive to STEM PhDs</p>
<p>The burden of scientific knowledge and managerial complexity is crushing our best and brightest</p>
<p>I explore the precipitous decline in PhD founders:<a href="https://t.co/NxpFn3NrZv">https://t.co/NxpFn3NrZv</a></p>
<p>— Nnamdi Iregbulem (@whoisnnamdi) <a href="https://twitter.com/whoisnnamdi/status/1413250293786021889?ref_src=twsrc%5Etfw">July 8, 2021</a></p>
</blockquote>
<p><em>Thanks to <a href="https://www.hec.edu/en/faculty-research/faculty-directory/faculty-member/astebro-thomas">Thomas Astebro</a>, <a href="https://www.rhsmith.umd.edu/directory/serguey-braguinsky">Serguey Braguinsky</a>, and <a href="https://www.rhsmith.umd.edu/directory/yuheng-gavin-ding">Yuheng Ding</a>, the authors of <a href="https://www.nber.org/papers/w27787">the study</a> from which much of this essay is derived.</em></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Awesome Developer Advocates Are Hiding in Plain Sight]]>
                        </title>
                        <description>
                            <![CDATA[Why you shouldn’t filter for social media following or prior experience]]>
                        </description>
                        <link>https://whoisnnamdi.com/developer-advocates-plain-sight/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/developer-advocates-plain-sight/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 25 May 2021 14:20:40 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512254789-header-1.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><a href="https://www.marythengvall.com/blog/2019/5/22/what-is-developer-relations-and-why-should-you-care">Developer relations</a> (DevRel) is one of the toughest hires to make in early stage, developer-centric startups.</p>
<p>In <a href="https://whoisnnamdi.com/developer-productivity-challenges/">Four Challenges Facing Developer Productivity Startups</a> I identified scaling developer relations as one of the key challenges facing developer productivity startups today:</p>
<blockquote>
<p>... even if you're fully onboard with the idea of developer relations, doing it well is tough. To start, developer advocates are hard to come by. There just aren't many DevRel folks out there. The function is still relatively new, and career pipelines into the role have yet to fully materialize — <a href="https://whoisnnamdi.com/developer-productivity-challenges/#scalingdeveloperrelations">Four Challenges Facing Developer Productivity Startups</a></p>
</blockquote>
<p>To some extent this is a supply and demand issue — many more startups want to bring on developer advocates than there are available developer advocates.</p>
<p>But there are structural issues behind the small quantity of available developer advocates — it leverages a combination of skill sets not often found in a single package, making it a tough role to hire for:</p>
<blockquote>
<p>DevRel is a hard spec to hire for. Technical folks are usually introverts. Extroverts are typically not technical — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<blockquote>
<p>I want them to be technical, and I'm always looking for empathy. It's very hard to find these things in a single person, this combination — Head of Developer Relations, Web Development Startup</p>
</blockquote>
<p>Even among the available pool of developer relations talent, companies have a hard time knowing who will be better at the role and what the key success factors are. How much does prior experience matter? How critical is it to have a large social media following?</p>
<p>I've spoken to numerous founders and developer relations professionals to tease out best practices for DevRel hiring. This piece focuses on how to find high quality developer advocates despite the scarce supply.</p>
<p>Here's some concrete advice:</p>
<h2>Most developer advocates are former engineers. So, talk to some current engineers</h2>
<p>Current engineers are future developer advocates hiding in plain sight:</p>
<blockquote>
<p>Getting into this career can be hard, but there are many developers that I'd bet on to be great first time developer advocates — <a href="https://www.devocate.com/devocate-for-developers/">Tessa Kriesel @ Devocate</a></p>
</blockquote>
<p>At some point, everyone gets their first gig in Developer Relations, and most of those people were developers themselves just before. Thus, current engineers are a great potential source of DevRel talent, if you're willing to do the work to pitch them on the role.</p>
<p>In fact, many people who could be great developer advocates don't know how to break into the field. For example, many engineers simply haven't spent the the time to build up a large social media following, but this doesn't mean they couldn't be successful in the role:</p>
<blockquote>
<p>... the ones who could be good often have a hard time getting a foot in the door without a Twitter presence — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>Some companies have realized this and shifted most of their DevRel hiring internally, focusing mainly on convincing existing engineers to try it out.</p>
<p>The pitch? Developer advocates can often have impact much sooner and more frequently than engineers:</p>
<blockquote>
<p>We hire most of the DevRel team internally. Folks realized they could make an impact much sooner as DevRel than as engineers. Software releases take so long, but content takes much less time — Head of Developer Relations, Web Development Startup</p>
</blockquote>
<p>Developer advocates "ship" faster. A piece of content — a blog post, a Twitch stream, etc — is often much quicker to assemble and publish than shipping some piece of software, like a new feature, to production:</p>
<blockquote>
<p>Sometimes it's enough just to write an article just to start a conversation. It doesn't have to be a full fledged feature release like in software — Head of Developer Relations, Web Development Startup</p>
</blockquote>
<p>I haven't run the numbers, but it wouldn't surprise me if there were more <em>potential</em> developer advocates among current software engineers than <em>actual</em> developer advocates out there.</p>
<p>So if you're having difficulty finding candidates for your open DevRel role, talk to some current engineers, even one's working at your company.</p>
<p>And when you do, leave your biases at the door with respect to experience or social media following...</p>
<h2>Don't filter for DevRel experience or social media following</h2>
<p>As with any role, it's super tempting to assume "only someone who's done this before could be good at it." Not so with DevRel:</p>
<blockquote>
<p>You can't look for experience, DevRel has barely existed for very long. If anything, non-traditional folks are often the best — Developer Success Engineer, Application Infrastructure Startup</p>
</blockquote>
<p>DevRel as a formal practice has not existed for long. You can't expect most people to have meaningful experience doing it. Again, this reinforces the idea that many potentially great developer advocates aren't currently in the role.</p>
<p>Another important point to keep in mind is the job description for DevRel tends to be loose and ill-defined in many ways due to the nature of the role:</p>
<blockquote>
<p>The job description is extremely loose. Best people need to grow into it to some extent — Developer Success Engineer, Application Infrastructure Startup</p>
</blockquote>
<p>Regardless of what <em>you</em> think the person needs to do, the reality on the ground will look somewhat different. Accept this, and know that the best developer advocates will navigate this ambiguity regardless of whether they are an "obvious" fit based on their professional experience to date.</p>
<p>One of the "obvious" characteristics people often filter on is social media following. But not so fast:</p>
<blockquote>
<p>Social media is just one part of the toolbox. Further, social following in one area does not necessarily translate to another — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<p>It's debatable how much a social media following is in fact required for success in DevRel. It's typically helpful for sure, but it's not everything. Being able to authentically and credibly connect with other developers is much more important:</p>
<blockquote>
<p>You don't really need to have a following to be good at DevRel. It's much more important to have street cred [with developers] — Founder and Former Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>In fact, social media can sometimes backfire (as we all know). In DevRel in particular, it can sometimes create the impression the person was merely "acqui-hired" for their social media sway rather than technical skills developers tend to appreciate and respect. I wouldn't say this is enough of a risk to be too worried about, but it's worth keeping in mind:</p>
<blockquote>
<p>Social media helps, but it can also be problematic in certain ways. It can sometimes create the perception that they were just hired for the followers they have, rather than their technical capacity. That can problematic for the person and the company — Product Manager and Former Developer Advocate, Big Tech</p>
</blockquote>
<h2>Look for the core characteristics, regardless of current title</h2>
<p>Rather than hire based on surface-level characteristics like current title or social media following, focus on identifying raw talent and passion for a key aspect of the role — <a href="https://www.amazon.com/Working-Public-Making-Maintenance-Software/dp/0578675862/">working in public</a>:</p>
<blockquote>
<p>There's a lot of raw talent out there. They are often already blogging. They are trying to get permission to speak at conferences — Director of Developer Relations, Web Development Startup</p>
</blockquote>
<p>Look for people who are already doing DevRel without necessarily having a title for their efforts (yet). These are engineers who are writing blog posts (either for their employer or their personal blog), speaking at conferences, and publicly interacting with other developers. This is where social media can be value — it's not so much about having a <em>following</em> as much as it's about having a <em>participatory presence</em>:</p>
<blockquote>
<p>Look for people who are already stepping up and doing the work. They are speaking at conferences, authoring blog posts, interacting on Twitter. Doesn't matter what their title is — Product Manager and Former Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>In addition to behaviors, attitudes matter too. We've already discussed the importance of empathy, but a core desire to teach and help others is important too. Self-taught programmers are often great about this (since they know how hard it is to learn something on your own):</p>
<blockquote>
<p>Self-taught programmers are great. They often have a chip on their shoulder and a willingness to teach others. They understand how valuable help is — Developer Success Engineer, Application Infrastructure Startup</p>
</blockquote>
<p>The founders and DevRel folks I spoke to agreed: these core characteristics are more critical to success in the role than prior experience or social media following. You likely have engineers in your team today with these traits. Maybe it's worth having a conversation about DevRel?</p>
<h2>Acres of DevRel diamonds</h2>
<p>Constraints drive <a href="https://www.fastcompany.com/3067925/how-constraints-force-your-brain-to-be-more-creative">creativity</a> and <a href="https://hbr.org/2019/11/why-constraints-are-good-for-innovation">innovation</a>. The market for developer relations talent is certainly constrained, and we need to get creative in response. Expanding your perspective for what DevRel "looks like" beyond social media following and title will help you find <a href="https://www.amazon.com/Acres-Diamonds-Life-Changing-Classics-Audio/dp/0937539783">acres of DevRel diamonds</a> where you least expect.</p>
<p>Again, remember this simple logic:</p>
<ul>
<li>IF most <em>current</em> DevRel professionals were <strong>past</strong> engineers,</li>
<li>THEN most <em>future</em> DevRel professionals are <strong>current</strong> engineers.</li>
</ul> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Developer Productivity Manifesto Part 3 — Leaving Software on the Table]]>
                        </title>
                        <description>
                            <![CDATA[Quantifying the billion dollar impact of developer inefficiency]]>
                        </description>
                        <link>https://whoisnnamdi.com/leaving-software-on-the-table/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/leaving-software-on-the-table/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 05 May 2021 06:13:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512251791-header-software-table.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Developer inefficiency drives hundreds of billions of dollars of lost software output annually.</p>
<p>The sum is striking but also predictable in light of data showing we don’t even come close to maximizing developer productivity.</p>
<p>Mountains of technical debt and poor development practices burden and bog down developers. We lose billions as a result.</p>
<p>The Developer Productivity Manifesto has three parts, this is part 3:</p>
<ul>
<li><a href="https://whoisnnamdi.com/the-developer-productivity-flywheel/">Part 1: The Developer Productivity Flywheel</a></li>
<li><a href="https://whoisnnamdi.com/more-developers-isnt-always-more/">Part 2: More (Developers) Isn’t Always More</a></li>
<li><strong><strong>Part 3: Leaving Software on the Table (you are here)</strong></strong></li>
</ul>
<p>In part 1, I talked about falling developer productivity and how spinning <a href="https://whoisnnamdi.com/the-developer-productivity-flywheel/">the developer productivity flywheel</a> can counteract this trend.</p>
<p>In part 2, I argued that <a href="https://whoisnnamdi.com/more-developers-isnt-always-more/">more developers won’t solve all our software engineering problems.</a></p>
<p>I’ve thrown around a lot of equations, literary references, and even some memes. In this third and final piece, I'll talk dollars and cents, quantifying the impact of lost developer productivity and how much software we're "leaving on the table" as a result.</p>
<h2>(Technical) debt to (developer) GDP</h2>
<p>In <a href="https://whoisnnamdi.com/more-developers-isnt-always-more/">part 2</a>, I made the case that software maintenance is not sufficiently value generating to cover engineering salary expenses. In other words, <strong><strong>busy work doesn’t work</strong></strong>:</p>
<blockquote>
<p><strong>According to one analysis, an engineer engaged in purely non-innovative activity <strong><strong>destroys</strong></strong> nearly $600K in employer market value. On the other hand, the average engineer, working on a combination of maintenance and innovation activities, <strong><strong>adds</strong></strong> $855K in market value to their employer.</strong></p>
</blockquote>
<p>In a global, cross-industry <a href="https://stripe.com/files/reports/the-developer-coefficient.pdf">survey</a>, Stripe asked developers why productivity was lower than it otherwise could be. <strong><strong>Maintenance of legacy systems / technical debt</strong></strong> took the top spot:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/hindering.png" alt="">
<em>Source: The Developer Coefficient, Stripe</em></p>
<p>Even developers themselves see maintenance work as unproductive. Asking them to quantify this reveals that the typical developer spends <strong><strong>13.5 hours per week</strong></strong> addressing technical debt:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/debt-hours.png" alt="">
<em>Source: The Developer Coefficient, Stripe</em></p>
<p>Add to that another <strong><strong>3.8 hours per week fixing “bad code”</strong></strong> (debugging, refactoring, etc.). That totals 17.3 hours per week spent fixing the past rather than building the future. The typical work week among the surveyed was 41.1 hours, implying that a full <strong><strong>42% of developer time is lost to drudgery</strong></strong>:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/dev-work-week.png" alt="">
<em>Source: The Developer Coefficient, Stripe</em></p>
<p>I like to call this <strong><strong>technical debt to developer GDP</strong></strong>. While some level of technical debt is unavoidable, it eventually becomes an unbearable drag on software output and developer productivity. It eats up engineering time leaves little for generative development work.</p>
<h2>Developers could be 46% more productive</h2>
<p>In another question, Stripe asked developers to rate the productivity of their engineering teams on a scale of 0–100%. The average response? <strong><strong>68.4%</strong></strong>:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/how-productive.png" alt="">
<em>Source: The Developer Coefficient, Stripe</em></p>
<p>Said differently, the average developer could potentially be (100% — 68.4%) / 68.4% = <strong><strong>46%</strong></strong> more productive that they are today, nearly 50%.</p>
<p>With a 41.1 hour work week, such a productivity boost would be the equivalent of an <strong><strong>additional ~19 hours of productive development work</strong></strong>, enough to completely compensate for all that time spent on technical debt and bad, buggy code.</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/extra-productive-hours.png" alt=""></p>
<h2>A $425B dollar bill on the ground</h2>
<p>Based on the survey, Stripe conducted a back-of-the-envelope calculation multiplying estimates of the value generated by software developers around the world with the estimated productivity losses to arrive at an estimate for the global GDP lost due to software developer inefficiency.</p>
<p>I take issue with some of the assumptions, but the calculation is illustrative regardless. Assuming $900B of aggregate developer GDP and 31.6 percentage points of productivity lost suggests a $300B annual GDP shortfall:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/stripe-calc.png" alt="">
<em>Source: The Developer Coefficient, Stripe</em></p>
<p>This is an underestimate, in fact. Stripe’s math assumes 100% — 68.4% = 31.6% lost relative to existing productivity, but as I showed above, it’s in fact 31.6% / 68.4% = 46%. With this efficiency loss relative to maximum productivity, GDP lost to developer inefficiency grows to <strong><strong>~$425B</strong></strong>.</p>
<p>So our failure to maximize productivity is losing us hundreds of billions in software production. Not exactly chump change.</p>
<h2>SUM()-ing it all up</h2>
<p>To end, I want to return to where I started qualitatively, my goal to increase total software output, and quantitatively, the decomposition of software output into developers and developer productivity, and finally connect the two perspectives.</p>
<p><strong><strong>How much more software output could we get with more developers and higher productivity?:</strong></strong></p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/image-20210425201756326.png" alt=""></p>
<p>Let’s start with developers. I tend to be skeptical of perennial “shortages” unless there’s some specific, identifiable reason for it. Regardless, estimates suggest there’s a ~3M shortage of software developers globally, with <a href="https://www.daxx.com/blog/development-trends/software-developer-shortage-us">1.4M unfilled computer science jobs</a> in the US alone.</p>
<p>To make the numbers easy, let’s round up Stripe’s estimate for the global software engineering labor force from 18M to 20M (I’ve seen other estimates in the 20–25M range, so this feels reasonable). That would imply a 3M / 20M = 15% developer shortage at current levels of demand.</p>
<p>So we have a 15% developer shortage and a 50% productivity “shortage”. Multiplied, that yields a massive <strong><strong>73% potential gain in software output</strong></strong>:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/software-calc.png" alt=""></p>
<p>Said another way, <strong><strong>current software output is only about 100% / 173% = 58% of what it could be</strong></strong>.</p>
<p>That’s <strong><strong>$670B</strong></strong> of software we’re leaving on the table.</p>
<p>This calculation is admittedly simplistic. One could argue that we’d need fewer developers if they were more productive. I push back on that — there’s so much we’ve yet to build, and more developers working more productively would unlock entirely new opportunities that we haven’t had the capacity to explore or can’t even yet imagine. This would further spur developer hiring and employment, another <a href="https://whoisnnamdi.com/the-developer-productivity-flywheel/">flywheel</a>.</p>
<h2>We can do better</h2>
<p>In this series I’ve made the case that by investing in <a href="https://whoisnnamdi.com/about-me/"><strong>technical tools for technical people</strong></a>, we can reverse the trend of declining developer productivity, spin the productivity flywheel in the right direction, and see massive gains in software output as a result.</p>
<p>As I’ve hopefully made clear, we can do A LOT better of a job maximizing developer productivity. I hope you’ll join me in my mission to do exactly that.</p>
<p><strong>Thanks so much for reading this — I hope it resonated with you. If it did, please share that feedback!</strong></p>
<p><strong><strong>Follow me on</strong></strong> <a href="https://twitter.com/whoisnnamdi"><strong><strong>Twitter</strong></strong></a><strong><strong>, subscribe to my monthly essays</strong></strong> <a href="https://whoisnnamdi.com/"><strong><strong>here</strong></strong></a><strong><strong>, and reach out to me directly via <a href="mailto:nnamdi@lsvp.com">nnamdi@lsvp.com</a></strong></strong></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Developer Productivity Manifesto Part 2 — More (Developers) Isn’t Always More]]>
                        </title>
                        <description>
                            <![CDATA[Adding more cooks to the kitchen rarely helps]]>
                        </description>
                        <link>https://whoisnnamdi.com/more-developers-isnt-always-more/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/more-developers-isnt-always-more/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Fri, 16 Apr 2021 06:13:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512244606-ballmer-compressed.gif" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>In software development, more (developers) isn’t always more.</p>
<p>In <a href="https://whoisnnamdi.com/the-developer-productivity-flywheel/">part 1</a> of “The Developer Productivity Manifesto,” I argued that developer productivity, measured in terms of new software, falls over time as low-hanging fruit is picked and new ideas become harder to find.</p>
<p>An understandable response would be — why not just throw more engineers at the problem?</p>
<p>If you’ve ever worked in software development, you know adding more cooks to the kitchen rarely helps. For those who <strong>haven’t</strong> worked in software development, this essay tells you why.</p>
<p>The Developer Productivity Manifesto has three parts, this is part 2:</p>
<ul>
<li><a href="https://whoisnnamdi.com/the-developer-productivity-flywheel/">Part 1: The Developer Productivity Flywheel</a></li>
<li><strong><strong>Part 2: More (Developers) Isn’t Always More (you are here)</strong></strong></li>
<li><a href="https://whoisnnamdi.com/leaving-software-on-the-table/">Part 3: Leaving Software on the Table</a></li>
</ul>
<h2>The Mythical Man-Month</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515843521-image-20210405202322027.png" alt=""></p>
<p><a href="https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959">“The Mythical Man-Month</a>” is a classic and hugely influential book about software engineering and project management. Across a series of essays, Fred Brooks (himself a former IBM project manager) lays out the cognitive errors software development teams tend to make in estimating the time to completion for software projects. His core thesis is best encapsulated by <a href="https://en.wikipedia.org/wiki/Brooks%27s_law">Brooks’ law</a>.</p>
<p>Brooks’ law of software project management states that:</p>
<blockquote>
<p><strong>Adding manpower to a late software project makes it later</strong></p>
</blockquote>
<p>If anything, adding more cooks to the kitchen <strong>lengthens</strong> cooking time. We shouldn’t assume a simple, linear, and directly causal relationship between developers as inputs and software as output. He lays this out in dire terms:</p>
<blockquote>
<p><strong>… when schedule slippage is recognized, the natural (and traditional) response is to add manpower. Like dousing a fire with gasoline, <strong><strong>this makes matters worse, much worse</strong></strong>. More fire requires more gasoline, and thus begins a regenerative cycle which ends in disaster.</strong></p>
</blockquote>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/ballmer_600.gif" alt=""></p>
<p>This counterintuitive phenomenon has multiple causes:</p>
<ul>
<li><strong><strong>Ramp up time:</strong></strong> Even seasoned developers take time to get up to speed on new projects, and newbie engineers must learn core skills on top of company-specific ones</li>
<li><strong><strong>Communication and coordination complexity:</strong></strong> The larger the team, the harder it is to coordinate productive work and communicate progress across teammates</li>
<li><strong><strong>Indivisibility of work:</strong></strong> The basic unit of work in software development can’t always be divided among multiple contributors</li>
</ul>
<p>That last point forms the basis of the title and main thrust of the book, the fallacy of “man-months” — distinct units of work achievable by a single developer in a set period of time. As Brooks argues, there is no such thing, and thus we should be wary of simplistic solutions to complex endeavors like software development.</p>
<blockquote>
<p><strong>Software is not labor-intensive. Not many people are necessary in order to produce good software… What makes or breaks a project, it’s the amount of FOCUS developers can pour into it — <a href="https://redbeardlab.com/2020/01/19/software-is-a-focus-intensive-industry/">RedBeardLab</a></strong></p>
</blockquote>
<h2>Diseconomies of scale</h2>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515838524-image-20210405115615714.png" alt="">
<em>Source</em></p>
<p>While it is common to assume <strong>economies of scale</strong>, <strong><strong>diseconomies of scale</strong></strong> are arguably just as relevant in software development.</p>
<p>Diseconomies of scale are where unit costs (the costs of producing an additional unit of output) increase rather than decrease with scale. Here, it’s better to <strong>cut back</strong> or <strong>lower</strong> output, rather than maximize it. Despite many advances, these occur more often than we’d like to admit in modern software development.</p>
<p>Diseconomies of scale can take many forms, and many overlap with the underlying causes behind the mythical “man-month”:</p>
<ul>
<li><strong><strong>Complexity:</strong></strong> Things become disproportionately complex as they scale, as complexity increases non-linearly with size. Complexity creates overhead, making large organizations less efficient than medium-sized ones. Bureaucracy is one manifestation, but there are others.</li>
<li><strong><strong>Black Swans:</strong></strong> Large systems fail in spectacular fashion. It’s why big companies create systemic risk while small businesses and startups fail in the thousands without cause for alarm. Within software, this might be a large monolithic application, prone to serious, single point failures.</li>
</ul>
<p>Humans, being the independent and unpredictable automatons we are, are especially prone to diseconomies of scale. Coordination costs eventually overwhelm even the most thoughtful engineering leaders. Application deployments are themselves quite brittle, necessitating vastly more manpower and attention as they grow.</p>
<h2>We will never have enough software developers</h2>
<blockquote>
<p><strong>Senior executives report that the lack of developer talent is one of the biggest potential threats to their businesses — <a href="https://stripe.com/files/reports/the-developer-coefficient.pdf">The Developer Coefficient 2018, Stripe</a></strong></p>
</blockquote>
<p>Executives believe that insufficient developer talent is one of the biggest threats to their business, and yet there’s good reason to think this might never be solved.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515839905-image-20210405115744208.png" alt=""></p>
<p>As I discuss in a previous essay, <a href="https://whoisnnamdi.com/never-enough-developers/">Why We Will Never Have Enough Software Developers</a>, changes in the underlying technologies of modern software development whittle away the accumulated human capital of software developers:</p>
<blockquote>
<p><strong><strong><strong>Specific skills in software development quickly become dated.</strong></strong> Programming languages and development frameworks go out of style. Hadoop is hot one year, and it’s old news the next. Like a fast, expensive car that quickly loses value as it’s driven around town, the skills and human capital of software engineers fall apart without constant, expensive maintenance</strong></p>
</blockquote>
<p>Though young engineers can keep up with the latest programming languages, frameworks, and tooling, eventually the torrential wave of new tools becomes too much to bear, and developers either tune out or drop out:</p>
<blockquote>
<p><strong>At age 26, 59% of engineering and computer science grads work in occupations related to their field of study. By age 50, only 41% work in the same domain, meaning a full <strong><strong>~30% drop out of the field by mid-career</strong></strong></strong></p>
</blockquote>
<p>The never-ending drumbeat of new technologies drives developers out of the field. New tooling is important and valuable, but their overall effect on developer productivity depends on how much they upend existing workflows and place additional burden on already taxed developers.</p>
<p>As I conclude:</p>
<blockquote>
<p><strong><strong><strong>Growing the supply of software developers is not trivial</strong></strong> because the field already sees high levels of developer dropout and turnover, and this would only increase if the field were to grow larger.</strong></p>
</blockquote>
<p>I favor efforts to grow the software engineering talent pool, but if we’re not careful, like quicksand, our efforts will be counterproductive.</p>
<h2>More developers, lower productivity</h2>
<p>As we saw in part 1, more researchers don’t necessarily lead to faster progress. In the case of Moore’s Law, it merely maintains the rate of progress, at significant expense.</p>
<p>But is this true of the economy overall? It turns out, the answer is yes. Cross-industry data proves that simply throwing more people at a problem doesn’t work.</p>
<p>The chart below plots the growth in the number of employed researchers and their productivity levels (measured in terms of revenue growth generated per researcher) for ~1,700 publicly-traded U.S.-based companies over a 20-year period. Most firms “threw more bodies at the problem” (orange histogram > 1), but <strong><strong>~80% of firms saw declining research productivity</strong></strong> (blue histogram &#x3C; 1):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515830398-0_4RM_2yR4dbE_6mb5.png" alt="">
<em>Source</em></p>
<p>Hiring more researchers doesn’t necessarily <strong>cause</strong> productivity to decline, but regardless, growing research teams and declining productivity go hand-in-hand more often than not.</p>
<p>Software development could fall prey to the same trap. Most companies are growing the number of software engineers they employ, mirroring the researcher employment trends, but let’s not forget productivity:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515831712-0_NHviru2DykbIv-9N.png" alt=""></p>
<p>Research productivity, and analogously developer productivity, falls over time unless acted upon by an outside force. Like gravity, this phenomenon is pervasive and ubiquitous, a force field dragging down all idea-generative industries.</p>
<h2>Busy work doesn’t work</h2>
<p>I love this quote from Stripe:</p>
<blockquote>
<p><strong>Despite the number of developers increasing year-over-year at most companies, <strong><strong>developers working on the right things can accelerate a company’s move into new markets or product areas and help companies differentiate themselves at disproportionate rates.</strong></strong> This underscores the most important point about developers as force-multipliers: <strong><strong>It’s not just how many devs companies have; it’s also how they’re being leveraged</strong></strong> — <a href="https://stripe.com/files/reports/the-developer-coefficient.pdf">The Developer Coefficient 2018, Stripe</a></strong></p>
</blockquote>
<p>In my last essay I talked about the importance of measuring productivity in terms of new software output. Another reason why more engineers is not necessarily the solution is that much of the value of the marginal engineer is in their <strong><strong>innovation</strong></strong> activities rather than their <strong>maintenance</strong> work.</p>
<p>We can quantify the impact of engineering time spent maintaining old code rather than writing new code. According to <a href="http://drock.mit.edu/sites/default/files/documents/techMV_mostrecent.pdf">one analysis</a>, an engineer engaged in purely non-innovative activity <strong>destroys</strong> nearly $600K in employer market value. On the other hand, the average engineer, working on a combination of maintenance and innovation activities, <strong><strong>adds</strong></strong> $855K in market value to their employer.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515846676-image-5.png" alt=""></p>
<p>As the study’s author speculates:</p>
<blockquote>
<p><strong>… the value of the engineer is a bundled combination of <strong><strong>maintenance activities which have negative value</strong></strong> and <strong><strong>innovation activities with positive value</strong></strong></strong></p>
</blockquote>
<p>Further, he echoes Brook’s Law:</p>
<blockquote>
<p><strong>It may also be the case that <strong><strong>more engineers does not always make for easier problem solving</strong></strong> and on the margin, removing innovative activity, [they are] a net drain on the firm’s value</strong></p>
</blockquote>
<p>I want to be clear: maintenance matters too. When things break, as they inevitably do, development teams must stand at the ready to fix problems and bring systems back online. This is critical work that should not be minimized in a narrow pursuit of newer, shinier objects.</p>
<p>That said, mere maintenance is table stakes. It doesn’t pay the bills — an engineer’s salary, first and foremost.</p>
<h2>Hidden figures</h2>
<p>Again, Stripe gets it right:</p>
<blockquote>
<p><strong>While many people posit that lack of developers is the primary problem, this study… found that <strong><strong>businesses need to better leverage their existing software engineering talent</strong></strong> if they want to move <strong><strong>faster</strong></strong>, build <strong><strong>new</strong></strong> products, and tap into <strong><strong>new and emerging</strong></strong> trends — <a href="https://stripe.com/files/reports/the-developer-coefficient.pdf"><strong><strong>The Developer Coefficient 2018, Stripe</strong></strong></a></strong></p>
</blockquote>
<p>Notice the emphasis on newness and speed. We can and should grow the talent pool for software engineering, but we can also do a much better job with the engineering talent <strong>we already have</strong>.</p>
<p>Maintenance matters but so does fundamental innovation. As software projects grow, and their teams with them, thoughtful engineering managers must strike the right balance or see their most precious resource go to waste.</p>
<p>Industry-wide we are, unfortunately, out of balance. In my next and final piece, I’ll explore exactly how much software we’re “leaving on the table” as a result.</p>
<p>Ready for more? Here's <a href="https://whoisnnamdi.com/leaving-software-on-the-table/">Part 3</a>.</p>
<p><strong><strong>Follow me on</strong></strong> <a href="https://twitter.com/whoisnnamdi"><strong><strong>Twitter</strong></strong></a><strong><strong>, subscribe to my monthly essays</strong></strong> <a href="https://whoisnnamdi.com/"><strong><strong>here</strong></strong></a><strong><strong>, and reach out to me directly via <a href="mailto:nnamdi@lsvp.com">nnamdi@lsvp.com</a></strong></strong></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Developer Productivity Manifesto Part 1 — The Flywheel]]>
                        </title>
                        <description>
                            <![CDATA[Developer productivity is falling. But it doesn't have to. The solution? The Developer Productivity Flywheel]]>
                        </description>
                        <link>https://whoisnnamdi.com/the-developer-productivity-flywheel/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/the-developer-productivity-flywheel/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 31 Mar 2021 05:40:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512240140-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><strong>TL;DR: I invest in productivity-enhancing tools for software developers and other technical knowledge workers. If you’re building something along these lines, ping me at <a href="mailto:nnamdi@lsvp.com">nnamdi@lsvp.com</a></strong></p>
<p>I’ve been obsessed with developer productivity for a long time.</p>
<p>As developments within software tooling, application infrastructure, and data science over the last decade have vindicated my quixotic enthusiasm, I thought I’d finally articulate my rationale in writing.</p>
<p>Manifestos should have mission statements. I’ve always loved <a href="https://stripe.com/about">Stripe’s</a>:</p>
<blockquote>
<p><strong>Our mission is to increase the GDP (gross domestic product) of the internet</strong></p>
</blockquote>
<p>They say great artists steal. My artistic design skills are, frankly, terrible (especially relative to Stripe’s), but I’ll steal some inspiration anyway and lay out my mission as follows:</p>
<blockquote>
<p><strong>My mission is to increase total software output</strong></p>
</blockquote>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/image-1.png" alt=""></p>
<p>Developer productivity is the best way to achieve this. This essay explains why.</p>
<p>The Developer Productivity Manifesto has three parts, this is part 1:</p>
<ul>
<li><strong><strong>Part 1: The Developer Productivity Flywheel (you are here)</strong></strong></li>
<li><a href="https://whoisnnamdi.com/more-developers-isnt-always-more/">Part 2: More (Developers) Isn’t Always More</a></li>
<li><a href="https://whoisnnamdi.com/leaving-software-on-the-table/">Part 3: Leaving Software on the Table</a></li>
</ul>
<h2>Every company is becoming a software factory</h2>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_A8QJ_-v0lvk9FBMK-1.jpg" alt=""></p>
<p>It’s been said before, and it’s worth repeating: <a href="https://www.confluent.io/blog/every-company-is-becoming-software/">every company is becoming a software company</a>.</p>
<p>Like Henry Ford’s assembly line 100 years ago, which revolutionized mass production of physical goods, innovation in the production of complex, intricate software products and services promise to transform modern software development.</p>
<p>The Software Revolution <strong>is</strong> the new Industrial Revolution.</p>
<p>Agile, scrum, waterfall etc. — the various paradigms analogize the factory assembly line and modify it for the modern context. They pose the provocative question, <strong><strong>“What can the world of bits learn from the world of atoms?”</strong></strong></p>
<p>In this light, I modify the above: every company is becoming a software <strong><strong>factory</strong></strong>.</p>
<p>But analogies to old-school industry only take us so far.</p>
<p>In the factories of old, labor was poorly-skilled, poorly educated, poorly treated, and poorly compensated. Today, as before, labor remains the key input to production. However, in the modern <strong>software factory</strong>, labor (i.e. software developers) is highly-skilled, well-educated, well-treated (at least in more progressive companies), and mostly importantly, <strong>well-paid</strong>.</p>
<p>My goal as an investor and citizen of Silicon Valley is to increase total software output. Maximizing the software output requires understanding what I call, the <strong><strong>software production function</strong></strong> — how we map from inputs to outputs in software development. The exact function is likely unknowable, but we know for sure developers are <strong>the</strong> key input. Therefore, let’s start with this simple mapping:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_Ol16aBbPuF5r3spw.png" alt=""></p>
<p>Basic enough, but we can do better. Economists often decompose variables into the <strong>extensive</strong> (“how much input” / “how many software developers”) and <strong>intensive</strong> (“how much per input” / “how productive”) margins:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_NoQVuock22zuDfIb.png" alt=""></p>
<p>So, we can grow software output in two ways: <strong><strong>more developers</strong></strong> or <strong><strong>higher developer productivity</strong></strong>.</p>
<h2>Why we should care about developer productivity</h2>
<blockquote>
<p><strong>“While many people posit that lack of developers is the primary problem, this study… found that <strong><strong>businesses need to better leverage their existing software engineering talent</strong></strong> if they want to move faster, build new products, and tap into new and emerging trends” — <a href="https://stripe.com/files/reports/the-developer-coefficient.pdf"><strong><strong>The Developer Coefficient 2018, Stripe</strong></strong></a></strong></p>
</blockquote>
<p>Software developers are the scarce, precious resource of software development — extremely expensive to obtain, train, and retain. <strong><strong>Anything that makes software developers more productive will itself be highly valuable.</strong></strong></p>
<p>However, productivity in software development tends to <strong>decline</strong> over time rather than increase.</p>
<p>This is a counterintuitive claim, so let’s unpack it.</p>
<p>First, it helps to delineate two different types of production — the production of tangible and intangible goods:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_pmFjSDd8dI9N6Zya.png" alt=""></p>
<p><strong><strong>Tangible goods</strong></strong> include traditional, physical products and services like cars, televisions, clothing, etc. Importantly, due to their tangibility, replicas have value. Two cars are better than one, and so on. It therefore makes sense to talk about gross “units” of production — cars assembled, televisions manufactured, etc.</p>
<p>On the other hand, <strong><strong>intangible goods</strong></strong> constitute non-physical products like ideas, patents, and… software. Intangibles are infinitely reproducible at nearly zero marginal cost. As such, it doesn’t make sense to measure intangible output in terms of <strong>gross</strong> “units’’ of output. Rather, only <strong>net new</strong> output matters.</p>
<p>Software is one such intangible. Copying existing code is as easy as running git clone on a repository. This alone does not generate incremental value — the value was in writing the original code.</p>
<p>With intangibles, <strong><strong>novelty</strong></strong> is what matters: new ideas, new designs, and new software. There’s a reason you can’t patent something already patented — there’d be no value in doing so. Similarly, new code moves the ball forward.</p>
<p>Let’s edit our previous equation to emphasize novelty:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/image-2.png" alt=""></p>
<p>It turns out, this trivial change makes a <strong><strong>huge</strong></strong> difference.</p>
<p>Why? Economic evidence suggests that, unlike physical goods, idea productivity tends to decline over time. The intensive margin of the “idea production function”, i.e. the number of new ideas generated by a given number of researchers, falls dramatically as a field progresses:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/image-3.png" alt=""></p>
<p>​Don’t believe me? Here’s one example that should resonate with fellow technologists: <strong><strong>Moore’s Law</strong></strong>.</p>
<h2>Are ideas getting harder to find?</h2>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_xguhYnmT9lSWPdzn.png" alt=""></p>
<p><a href="https://en.wikipedia.org/wiki/Moore&#x27;s_law">Moore’s Law</a> describes how manufacturers cram twice as many transistors onto computer chips every two years.</p>
<p>Sustaining this self-fulling prophecy of “2X every 2 years” requires massive research teams to churn out new ideas and insights around chip design and manufacturing. It’s clear from the data that Moore’s Law is not some <strong>a priori</strong> law of the universe, but rather a <strong><strong>goal</strong></strong> set by chip manufacturers and researchers:</p>
<blockquote>
<p><strong>“Many commentators note that Moore’s Law is not a law of nature but instead results from intense research effort: doubling the transistor density is often viewed as a goal or target for research programs.” — <a href="https://web.stanford.edu/~chadj/IdeaPF.pdf"><strong><strong>Are Ideas Getting Harder to Find?</strong></strong></a></strong></p>
</blockquote>
<p>Transistors are tangible, but the <strong>ability</strong> or <strong>know-how</strong> to condense their size over time is an idea and, therefore, intangible. Intellectually, we should separate the <strong>physical</strong> production of literal computer chips from the <strong>ideas</strong> that enable this feat.</p>
<p>As it turns out, the old ideas just won’t do — what got you <strong>here</strong> won’t get you <strong>there</strong>.</p>
<p>In a fascinating and landmark <a href="https://web.stanford.edu/~chadj/IdeaPF.pdf">paper</a>, Stanford and MIT economists Nicholas Bloom, Charles Jones (hey professor!), John Van Reenan, and Michael Webb frame the constant growth in the density of transistors as evidence of a constant flow of new ideas and innovations:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_jP2mHx71qNSVYIJ6.png" alt=""></p>
<p>If idea output is constant, growth in the number of researchers implies shrinking research productivity. If the flow of new ideas in semiconductor manufacturing is constant (as evidenced by Moore’s Law roughly holding steady) and the number of chip researchers increases over time, then we know (via simple arithmetic) research or idea productivity <strong><strong>must</strong></strong> decline:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_S7ptnoyf9hy99zxq.png" alt=""></p>
<p>​And that’s exactly what we see. Generating constant growth in the number of transistors on a chip has required many more semiconductor researchers and scientists over time, <strong><strong>about 18 times as many in 2014 relative to 1971</strong></strong>:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_s5vJJ4hKzJd4QmVq.png" alt=""></p>
<p>Measured in terms of transistor density gains, <strong><strong>research productivity has declined 18X over a 45-year period</strong></strong>, which is to say it’s about <strong><strong>5%</strong></strong> of what it used to be, a dramatic, precipitous decline in idea productivity. And as presented in the paper, the same phenomenon holds true in many sectors, such as agricultural and medical research.</p>
<p>The evidence is clear: <strong><strong>new ideas are hard to find and only getting harder</strong></strong>. Analogously, if we assume new software represents new ideas, it only follows that new software is increasingly difficult to create too.</p>
<p>The work of software developers is analogous to semiconductor R&#x26;D. <strong><strong>Engineering teams are tiny idea factories</strong></strong>, and new ideas get harder to produce over time.</p>
<p><strong>This</strong> is why developer productivity falls over time. The ability of software developers to write novel applications tends to decline over time, as happens in almost any idea-centric production process. When so much code has already been written, it’s difficult to improve upon the status quo.</p>
<h2>The developer productivity flywheel</h2>
<p>Breaking away from this gravitational, productivity-sucking force field won’t be easy. However, we can reach escape velocity by aggressively enhancing developer productivity rather than watching it deteriorate.</p>
<p>Flywheels help technology startups achieve velocity, and software development is no exception. Since no mention of flywheels in a technology essay is complete without a visualized loop, here it is:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/image-4.png" alt=""></p>
<p>To explain:</p>
<ol>
<li><strong><strong>New developer productivity tools make software developers more productive.</strong></strong></li>
</ol>
<p>Simple enough, though we shouldn’t be so naive as to think it <a href="https://www.derrickreimer.com/essays/2018/03/02/the-war-on-developer-productivity.html">always works out so cleanly</a>. New tools initially impair developer productivity, as individual contributors and teams adjust to new software, interfaces, and workflows. Complex tooling can drive productivity through the ground if recklessly implemented.</p>
<p>This dynamic generates the familiar “J-Curve” of initially declining productivity before tangible benefits are eventually realized:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_pTVPwZPyFQf8MbbR.png" alt="">
<em>Original version</em></p>
<p>So I should be precise — new productivity tools <strong>thoughtfully applied</strong> make developers more productive. That productivity may not immediately materialize, either because it’s <a href="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3346739">difficult to measure</a> (Commits? Lines of code? Shipped releases?) or because adjustment takes time. This only reinforces the importance of investing sooner, as to frontload the trough.</p>
<p><strong><strong>2. Higher developer productivity drives companies to hire more software engineers.</strong></strong></p>
<p>Remember your supply and demand curves from <a href="https://www.khanacademy.org/economics-finance-domain/ap-microeconomics/factor-markets/ap-labor-marginal-product-rev/v/shifts-in-demand-for-labor">economics 101</a>? Higher productivity pushes out the developer demand curve. Companies take advantage of enhanced productivity by hiring more developers and paying them more too:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0__phAC3txzmraNUQN.png" alt=""></p>
<p>In some cases, the enhanced productivity not only makes existing developers more productive but lowers the bar enough that others can now become software developers too. This pushes out the the developer supply curve, increasing employment further:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_f1Yu2MIu3fMkyDFN.png" alt=""></p>
<p><strong><strong>3. More developers working at higher productivity levels ship more software, a subset of which is itself developer productivity tooling.</strong></strong></p>
<p>As previously discussed, if we simply increase the number of developers without maintaining productivity, we merely tread water. What’s crucial here is that developer productivity and employment <strong>rise together</strong>. If they do, we get more software output, and that new software will itself drive higher productivity.</p>
<p><strong><strong>4. Loop</strong></strong></p>
<p>For the technically inclined, here’s how the logic goes in code form (much more compact 😅):</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/dev_prod_flywheel.py.png" alt=""></p>
<p>In other words:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/05/0_6kZsFEsFISGZIQMY.png" alt=""></p>
<p>This is what I like to call, <strong><strong>the developer productivity flywheel</strong></strong>.</p>
<p>The future of productive, economical software development rests on running this flywheel as quickly as possible, iteratively looping through virtuous cycles of productivity, employment, and software output growth.</p>
<p>However, there is “<a href="https://www.cgl.ucsf.edu/Outreach/pc204/NoSilverBullet.html">no silver bullet</a>.” There isn’t “one weird trick” to massively supercharge developer productivity.</p>
<p>Instead, we must attack the problem from <strong>every available angle</strong> if we are to succeed.</p>
<p>Ready for more? Here's <a href="https://whoisnnamdi.com/more-developers-isnt-always-more/">Part 2</a>.</p>
<p><strong><strong>Follow me on</strong></strong> <a href="https://twitter.com/whoisnnamdi"><strong><strong>Twitter</strong></strong></a><strong><strong>, subscribe to my monthly essays</strong></strong> <a href="https://whoisnnamdi.com/"><strong><strong>here</strong></strong></a><strong><strong>, and reach out to me directly via <a href="mailto:nnamdi@lsvp.com">nnamdi@lsvp.com</a></strong></strong></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Four Challenges Facing Developer Productivity Startups]]>
                        </title>
                        <description>
                            <![CDATA[The biggest challenges facing developer productivity startups today]]>
                        </description>
                        <link>https://whoisnnamdi.com/developer-productivity-challenges/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/developer-productivity-challenges/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 11 Mar 2021 08:05:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512235438-header-1.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Developer productivity is undergoing a tectonic shift. New software development paradigms and tooling have accelerated the pace and productivity of modern software teams, quickening the "shipping speed" of new software.</p>
<p>To better understand the strategic landscape, my good friend and colleague, <a href="https://www.linkedin.com/in/clio-smurro-31967b9/">Clio Smurro</a>, and I interviewed founders and executives at next-generation software and infrastructure startups pushing the developer productivity frontier to get their thoughts and insights. They shared their views on:</p>
<ul>
<li><a href="/developer-productivity-trends/">major industry trends</a>,</li>
<li><a href="/developer-productivity-strategic-priorities/">top strategic priorities</a>, and</li>
<li>biggest challenges and pain points (you are here)</li>
</ul>
<p>In this third and final chapter, we share our findings on the <strong>top challenges and pain points</strong> facing developer productivity startups, including:</p>
<ul>
<li><a href="#definingandplanningforsuccess">Defining and planning for success</a></li>
<li><a href="#integratingwithothertechnologies">Integrating with other technologies</a></li>
<li><a href="#buildingmindshare">Building mindshare</a></li>
<li><a href="#scalingdeveloperrelations">Scaling developer relations</a></li>
</ul>
<p>Subscribe below to receive a nicely formatted PDF of our research!</p>
<h2>Defining and planning for success</h2>
<p>It's common for developer productivity startups to take an engineering-first approach to development, where engineers take the lead on deciding what to build and when to build it, often leveraging personal intuitions as consumers of the product.</p>
<blockquote>
<p>We don't have PMs. We decide what to build democratically. For each sprint, everyone comes up with an idea and we discuss — Manager, Developer Tools Startup</p>
</blockquote>
<p>While this works initially, without some sort of formalized product management function, teams soon hit a wall of confusion:</p>
<blockquote>
<p>We emulated the Stripe model initially, focusing on engineering and growth. We don't have any PMs and so we don't have a clear framework for what to build — Manager, Developer Tools Startup</p>
</blockquote>
<p>It's difficult to chart out long-term priorities and product roadmaps that support the business and revenue generation without product-minded individuals that can liaison between the technical and commercial needs of the company.</p>
<p>If not tackled early, the more haphazard approach to product development can lead to a nonsensical multi-year roadmap of features no one can rigorously justify. With no North Star, new, potentially interesting ideas get shut out and ignored, for lack of space:</p>
<blockquote>
<p>We know all the things we would like to build but our roadmap is full — Director, Data Science Startup</p>
</blockquote>
<p>To where should developer productivity startups look for signals on what to build next? Customers, ideally. But it's not always that simple. Depending on the customer, signals can be more or less easy to detect. Self-serve users, for example, often silently churn, never indicating what drove the decision:</p>
<blockquote>
<p>Self-serve users don’t really tell you what they want, they just churn if they are unsatisfied — Manager, Developer Tools Startup</p>
</blockquote>
<p>Telemetry can drive insight into these churn patterns. The problem, however, is that many developer productivity tools are open source, so users typically have the ability to disable usage tracking, cutting off a vital information source. Many tools launch without any tracking in the first place, later causing a riot among their community when implementing telemetry later.</p>
<p>When we can collect user feedback, the next question arises — what to do with it? Should we first solve the problems of our loudest, most-vocal users? Should we focus on features that will help us close revenue in the near-term, perhaps even features that were specifically asked for by prospects? These are all valid questions with no easy answer.</p>
<blockquote>
<p>This is a general problem that all dev tools companies run into... building features that specific customers need so that you can close the deal, without any holistic product management framework — Manager, Developer Tools Startup</p>
</blockquote>
<p>Though it's somewhat unknowable, developer productivity companies must grapple with and come to a view on the state of the product and whether it's ready for prime-time. One could always collect more data, but eventually you reach critical mass, and decisions can be made. Knowing when you've crossed this key milestone is critical. In other words, <strong>what does success look like?</strong></p>
<p>Before reaching this point, it can be hard to tell whether you are on your way or marching in an entirely wrong direction product-wise:</p>
<blockquote>
<p>How do you know when you know enough? How do you know when you've seen enough? Are you consensus or non-consensus? If you talk to the market and get 100 "NO"s, but 5 "YES"es, are you right about your idea or are you wrong? — Founder, Data Science Startup</p>
</blockquote>
<blockquote>
<p>How do you know if you need to change the product geometry? Also, how do you set the right KPIs? — Founder, Data Science Startup</p>
</blockquote>
<p>Once product-market fit has been confidently achieved, it's time to pour fuel on the flame and scale up the team. As the team grows, engineering processes inevitably need to change to keep up. This is a key advantages of big tech organizations like Google or Amazon — they've built development processes that work at scale and have been doing so for some time. Developer productivity startups must also set themselves up for success:</p>
<blockquote>
<p>Having an effective engineering organization will be a key advantage for us. Big companies like Google and Amazon don’t just have innovative products. They also have innovative engineering processes — Founder, Application Infrastructure Startup</p>
</blockquote>
<h2>Integrating with other technologies</h2>
<p>Few developer productivity startups begin by building an end-to-end solution. Invariably, developer productivity products integrate with other parts of the software development toolchain.</p>
<blockquote>
<p>The ML landscape is very messy; very noisy. For the different steps of the ML workflow, people will use the tools which integrate best with each other — Founder, Data Science Startup</p>
</blockquote>
<blockquote>
<p>Tools should follow UNIX philosophy of working well individually AND integrating with other tools well — Founder, Data Science Startup</p>
</blockquote>
<p>It turns out, this is a different skill set from core product building, as many quickly find out:</p>
<blockquote>
<p>Seamless integration to our partners technically is challenging. We’re trying to mitigate that by hiring very well-seasoned experts in each of the areas that we’re growing — Founder, Data Science Startup</p>
</blockquote>
<p>Integrating with other technologies often involves hiring that particular skill set into the organization. Though it's possible to build integration into tooling that the team doesn't have personal experience with, teams with first-hand knowledge of the complementary technology build the best integrations.</p>
<p>Integration is as much a technological problem as a people problem:</p>
<blockquote>
<p>And the human aspect...if you make this huge effort, you want to make sure it’s not just you entering their community, but them really integrating with yours — Founder, Data Science Startup</p>
</blockquote>
<blockquote>
<p>We need to go one by one in building integrations with each of these open-source communities — Founder, Data Science Startup</p>
</blockquote>
<p>Communities already exist around the technologies with which developer productivity startups want to integrate. <strong>Ingratiating</strong> oneself with these communities is as important as <strong>integrating</strong> with their tooling.</p>
<blockquote>
<p>We’re open source...we have to go into their databases and make sure we get buy-in from their existing developers — Founder, Data Science Startup</p>
</blockquote>
<p>Greasing the wheels in this way helps build goodwill among users of the target technologies, which can open doors. The core contributors of the target technology may make an architectural change on their end that makes your integration work much easier. Mutual trust and respect enable this kind of deep collaboration.</p>
<p>Further, people who've spent time in these other ecosystems bring a wealth of knowledge and insights, and can help fledgling developer productivity startups avoid the mistakes of their elders:</p>
<blockquote>
<p>Our biggest challenge...we want to learn from each of these communities, and make sure that we’re not repeating any mistakes — Founder, Data Science Startup</p>
</blockquote>
<p>Developer productivity startups can't afford to integrate with everything. Resources are limited, and integration work is often not a core competency. Startups must prioritize different integration options. Like sizing up the market opportunity for an entire company, startups should evaluate the market potential of complementary technologies:</p>
<blockquote>
<p>Postgres and MySQL….you’ll cover ~70% of the market if you serve those two — Manager, Developer Tools Startup</p>
</blockquote>
<p>The proliferation of developer tooling makes it harder make such decisions:</p>
<blockquote>
<p>Addressable market for applications is large, but that makes it harder to focus. We need to make sure we’re strategic in choosing which applications to prioritize — Founder, Application Infrastructure Startup</p>
</blockquote>
<p>Even among the tools that teams make an affirmative decision to integrate with, quality will vary meaningfully:</p>
<blockquote>
<p>We serve like 45 different tools with integration. We do a really good job at serving a few key integrations — Manager, Developer Tools Startup</p>
</blockquote>
<h2>Building mindshare</h2>
<p>Mindshare always precedes dollar share. Potential users make important architectural decisions early, requiring that they know about your technology well ahead of project intiation. Further, up-and-coming vendors must navigate any risk aversion or reticence towards new tooling, which is easier said than done:</p>
<blockquote>
<p>Unless developers have the foresight to future proof, they’ll still be building with Postgres or some other older database. We often hear "we'll start with MySQL and the move to you guys if we run into issues" — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>Methods for building mindshare are many and varied. Some are subtle. One answer that surprised us but makes complete sense in retrospect? Online classes. Online courses are a common learning vehicle for developers, and the content of most courses naturally tends to skew toward more mature technologies with larger userbases.</p>
<p>This is a sort of network effect whereby MongoDB developers, for example, benefit from the presence of other MongoDB developers because those same developers create an ecosystem of learning content around the database, flattening the learning curve:</p>
<blockquote>
<p>An example of mindshare: online courses are teaching other databases, not ours — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>If the community isn't large enough, vendors themselves can help cover the gap. Tutorials and documentation help developers both learn how to use a tool but also learn of a tool in the first place. This is classic content marketing, with a developer-focused spin:</p>
<blockquote>
<p>One challenge we face is improving our content. Writing tutorials, making videos, helping people use the product better — Manager, Developer Tools Startup</p>
</blockquote>
<p>Mindshare has been especially difficult to build during the era of COVID-19, which has put a damper on in-person meetups and other ways in which upstart developer productivity companies build community and evangelism. Startups have rethought more formal events like conferences:</p>
<blockquote>
<p>Evangelism has been stymied. The developer ecosystem is very meetup-driven, so that’s been cut — Executive, Application Security Startup</p>
</blockquote>
<blockquote>
<p>Conferences used to be really important, so we’ll see how being virtual affects that — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>These events often serve as meaningful lead generation channels for developer productivity companies, leading to potential pipeline impacts:</p>
<blockquote>
<p>We have a strong pipeline, but we need to make sure we keep that up, especially with everything being virtual now — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>Mindshare, once achieved, can act as powerful social proof. Though many developers claim to be driven by first principles in their design decisions and choice of tools, like all other homo sapiens, they care about what other people think. C-suite buyers care even more about the choices of their peers, so high quality customer logos definitely matter and should be displayed prominently:</p>
<blockquote>
<p>We need more logos on our website. Getting named case studies is key for us. CIOs want to know that someone else is using this thing — Executive, Application Infrastructure Startup</p>
</blockquote>
<h2>Scaling developer relations</h2>
<p>Speaking of building mindshare, developer relations (DevRel), also known as developer evangelism, developer advocacy, developer experience, etc. has emerged as an incredible way for developer productivity startups to ramp up mindshare and market awareness. Developers may not like being sold to, but they don't mind nerding out on cool tech with someone who speaks the same language:</p>
<blockquote>
<p>Developers don't want to hear from sales folks. They don't want to be told what to do by their CIO. They want to be part of broader community, contribute, participate — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<blockquote>
<p>Developers don't like being sold to, but they trust other developers — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>Simple enough. But even if you're fully onboard with the idea of developer relations, doing it well is tough. To start, developer advocates are hard to come by. There just aren't many DevRel folks out there. The function is still relatively new, and career pipelines into the role have yet to fully materialize:</p>
<blockquote>
<p>There is a serious lack of talent for DevRel. The ones who are good have already been hired. And the ones who could be good often have a hard time getting a foot in the door without a Twitter presence — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<blockquote>
<p>DevRel is a hard spec to hire for. Technical folks are usually introverts. Extroverts are typically not technical — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<p>Knowing who to hire among available candidates is also tricky. Companies often use social media following as an indicator of DevRel potential. But nearly of the DevRel professionals we spoke to cautioned <em>against</em> using social media following as an rubric for hiring developer advocates, with many saying it's entirely unnecessary for the job. Further, a large social media following is only helpful if it's backed up by <strong>technical ability</strong> and <strong>credibility</strong> with the developer community:</p>
<blockquote>
<p>You don't really need to have a following to be good at DevRel. It's much more important to have street cred [with developers] — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<blockquote>
<p>Social media is just one part of the toolbox. Further, social following in one area does not necessarily translate to another — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<blockquote>
<p>There are lots of people with big social media following who no one actually likes — Developer Advocate, Application Infrastructure Startup (author note: 🤣)</p>
</blockquote>
<p>Once the DevRel team begins to scale, questions emerge around where it fits within the broader org chart and hierarchy. This quickly gets contentious, and rarely do DevRel teams get to decide their own fate. This leads to bad situations where DevRel ends up in a part of the organization that isn't truly aligned with the practice, or worse, DevRel ends up straddling multiple functions:</p>
<blockquote>
<p>Developer relations often gets stuck in the middle between different functions — Developer Advocate, Developer Tools Startup</p>
</blockquote>
<blockquote>
<p>In the past people didn't really understand DevRel. This lack of understanding drove poor outcomes. Future will be DevRel as its own organization — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>Poor understanding of what DevRel is and its potential drives significant consternation. Again, because there are so few of these individuals and the function is so nascent, identifying enlightened executives and manager to lead these efforts is not trivial. With the right leadership, however, DevRel can thrive:</p>
<blockquote>
<p>It's much better to have someone run the team who is involved in developer relations themselves. Having adamant buy in really helps — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>But inevitably the question emerges — how should we measure DevRel's successes (or failures for that matter)?</p>
<blockquote>
<p>A lot of people don't know how to be effective in DevRel. You need analytics of some sort. You need to understand your funnel — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<p>This is another point of serious contention within the developer relations community. There are no standard metrics or KPIs in DevRel, leading to difficult conversations within the DevRel team and the rest of the company about whether and how DevRel is pulling its weight:</p>
<blockquote>
<p>Metrics are tough. The metrics you end up measuring are often defined by the function you fall under — Developer Advocate, Developer Tools Startup</p>
</blockquote>
<blockquote>
<p>You will just be looked at as a cost center if you can't quantify this stuff. Really you are revenue generating, and you need to think of yourself that way — Developer Advocate, Analytics Infrastructure Startup</p>
</blockquote>
<p>Though there may not be a perfect KPI for DevRel that works for all companies and communities, in picking a set of metrics, it helps to keep in mind a "North Star" tied to the fundamental values and purpose of the business:</p>
<blockquote>
<p>Define success by how you serve other developers. Are you giving them what they need so they can build? — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<h2>Conclusion</h2>
<p>It was amazing to speak to so many developer productivity founders and operators about the major trends shaping their businesses, their strategic priorities, and their biggest challenges and pain points as they've scaled up. The discussions around challenges were especially humbling. With all the glitz and glamour around startups and Silicon Valley these days, it's easy to forget the fundamentals — building a company in any sector is really, really hard, and developer productivity is no exception.</p>
<p>We hope you've enjoyed this series on developer productivity. We'd love to continue the conversation. If you are a developer productivity founder or operator who's resonated with any of these findings, let's chat!</p>
<p><a href="https://www.linkedin.com/in/clio-smurro-31967b9/">Clio Smurro</a> &#x26; <a href="https://www.linkedin.com/in/nnamdiiregbulem/">Nnamdi Iregbulem</a></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Robinhood Traders are Last to the Party]]>
                        </title>
                        <description>
                            <![CDATA[Robinhood traders get fleeced not by HFTs front-running milliseconds before their order hits but by other retail investors, days earlier.]]>
                        </description>
                        <link>https://whoisnnamdi.com/robinhood-party/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/robinhood-party/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 01 Mar 2021 08:10:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512232204-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>The recent Robinhood and Gamestop / Gamestock / Gamestonk fiasco shed a light on some of the complex financial infrastructure that undergirds equity trading.</p>
<p>One mechanism, <a href="https://www.investopedia.com/terms/p/paymentoforderflow.asp">payment for order flow</a>, plays a large role in how Robinhood provides commission-free trading to its users.</p>
<p>Payment for order flow is often characterized as a shady practice that enables high-frequency traders (HFTs) to front-run Robinhood traders, siphoning off a sliver of profit as they do.</p>
<p>I tend to think such concerns are overblown. From the perspective of an individual Robinhood trader, HFTs are of almost no importance, and their impact on trading profits is imperceptible, especially if one only transacts periodically.</p>
<p>The truth is much more ironic.</p>
<p>Robinhood traders get fleeced not by HFTs front-running milliseconds before their order hits but <strong>by other retail investors, days earlier.</strong></p>
<h2>The party ended *five* days ago</h2>
<p>It turns out, <a href="https://papers.ssrn.com/abstract=3776874">trading activity among Robinhood users lags the rest of the retail community by multiple days</a>, more than enough time to squeeze out any potential profits.</p>
<p>A few charts demonstrate this dynamic. The graph below plots "abnormal retail trading volume" against the days before and after a stock peaks on WallStreetBets, the popular Reddit community, measured in terms of mentions. You can think of day zero as representing the day when mentions of a particular stock, say GME, peaked, with "-5" representing five days before, "5" representing five days after, and so on. "Abnormal" simply means retail trading activity relative to the prior 20-day moving average of retail trading volume for a particular stock.</p>
<p>Notice how retail trading volume peaks about two days before WSB mentions peak:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/03/image-20210222140135524.png" alt="image-20210222140135524"></p>
<p>In other words, popularity on WallStreetBets lags the broader retail market. Stocks first get popular among non-Robinhood retail traders, and the subreddit subsequently picks this up, increasing how often the name is mentioned.</p>
<p>Now let's look at Robinhood volume relative to WallStreetBets mentions. Robinhood activity peaks 2-3 days <em>after</em> WSB activity:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/03/image-20210222140228350.png" alt="image-20210222140228350"></p>
<p>All in all, that's a five day delay between when a stock begins to cool off among most retail investors and when Robinhood traders finally get the memo.</p>
<p>By the time most Robinhood users actually trade, the party is over. And when the festivities end, so do the profits.</p>
<h2>Noise traders</h2>
<p>I started the piece with my skepticism about the impact HFTs have on the profits of Robinhood traders. But if retail investors are taking advantage of market opportunities a full <em>five days</em> ahead of Robinhood traders, I'm much more inclined to think that could have an effect.</p>
<p>The data proves this out. While recent research has shown that retail traders are in fact informed (measure as a positive correlation between retail trading activity and future stock returns), <strong>Robinhood activity has no positive relationship with future returns</strong>.</p>
<p>The table below shows the results of a regression of future returns at 3, 5, and 20-day intervals on Robinhood user ownership and aggregate retail trading volume, along with a number of control variables. While the coefficient on retail volume is positive and statistically significant in all cases, suggesting that <em>non-Robinhood</em> retail trading volume predicts future returns, the coefficient on Robinhood ownership is negative and statistically insignificant, meaning that <strong>Robinhood activity has little relationship with future returns</strong>:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/03/image-20210222140349147.png" alt="image-20210222140349147"></p>
<p>This finding led the authors to conclude the following:</p>
<blockquote>
<p>Contrasting with recent evidence that retail traders are informed, we find that Robinhood ownership changes are unrelated with future returns, suggesting that zero-commission investors behave as noise traders.</p>
</blockquote>
<p>If case you don't read a ton of academic finance research, that's an extremely polite and understated way of saying: <strong>Robinhood trading is random</strong> (with respect to financial returns at least). In other words, there's no <em>there</em> there.</p>
<p>And I should say: nothing about the app necessitates that. It's the behavior of the folks using it.</p>
<h2>There's no such thing as free alpha</h2>
<p>I think it's great that Robinhood exists. I love that individuals have more ways of accessing the financial markets without coughing up exorbitant fees.</p>
<p><strong>But access isn't everything.</strong> We all have "access" to Las Vegas, but that doesn't make it a path to wealth creation. Likewise, if Robinhood traders use the app to merely gamble on 50/50 bets that a particular stock will go up or down, little wealth or value creation will result.</p>
<p>Despite the app's name, Robinhood users for the most part redistribute among themselves the breadcrumbs left by the rest of the market.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Why Developers Love Redpanda]]>
                        </title>
                        <description>
                            <![CDATA[Why Vectorized's focus on developer experience will unlock real-time streaming for the great majority of developers]]>
                        </description>
                        <link>https://whoisnnamdi.com/why-developers-love-redpanda/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/why-developers-love-redpanda/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 10 Feb 2021 21:02:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512237802-Why_Developers_Love_Redpanda_vectorized_img.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><a href="https://en.wikipedia.org/wiki/Red_panda">Red pandas</a> are cute. But for a while, that was the only thing they had going for them.</p>
<p>No longer. As with whales (Docker) and elephants (Hadoop, Postgres) before them, red pandas finally have the backing of a hardcore application infrastructure technology.</p>
<p>Meet <a href="https://github.com/vectorizedio/redpanda">Redpanda</a>, a real-time event streaming platform backed by <a href="https://vectorized.io/">Vectorized</a>. We at Lightspeed led the company’s <a href="https://techcrunch.com/2021/01/26/vectorized-announces-15-5m-investment-to-build-simpler-streaming-data-tool/">recently announced</a> Seed and Series A rounds, and we couldn’t be more excited about the potential for Vectorized to revolutionize real-time streaming.</p>
<p>Vectorized is one of the most technical companies I’ve ever worked with. But unlike many products, where deep technical innovation often comes at the cost of incredible complexity, Redpanda bucks this trade-off. Like its animal namesake, Redpanda is approachable, combining a simple and accessible developer experience with an underlying engine that pushes streaming to never-before-seen performance levels.</p>
<p>Vectorized is maniacally focused on the developer experience. As a result, it “just works”:</p>
<blockquote>
<p><strong><em>“RedPanda’s performance, simplicity and ease of operation dramatically improves next generation data applications. Switching our development environment from Kafka to Redpanda dramatically lowered development overhead, while pipelines feeding Clickhouse “just worked” and moved our I/O bottleneck back to the disks where it belongs. Recommended.” —</em> <strong><strong><em>Eric LaBianca, CTO, The Seventh Sense</em></strong></strong></strong></p>
</blockquote>
<p>In this post, I want to highlight three key aspects of the Redpanda developer experience — <strong><strong>simplicity</strong></strong>, <strong><strong>accessibility</strong></strong>, and <strong><strong>performance</strong></strong> — and discuss why we think Vectorized’s emphasis on usability will unlock real-time streaming for the great majority of developers, who are underserved by existing solutions. You’ll also hear it straight from members of the community, who I’ve quoted throughout.</p>
<h1>Simple is beautiful</h1>
<p>Redpanda abstracts away the complexity that often prevents the typical developer from adopting real-time streaming. There’s a long list of optimizations that I won’t entirely do justice to here, but I wanted to highlight two of the most impactful: <strong><strong>No Zookeeper</strong></strong> and <strong><strong>No JVM (Java Virtual Machine)</strong></strong>.</p>
<h1>No Zookeeper</h1>
<p><a href="https://zookeeper.apache.org/">Apache Zookeeper</a> is a critical piece of infrastructure in Kafka and many other big data technologies. Its core purpose is to manage coordination of nodes and metadata in distributed systems, and it runs as a separate set of machines that must themselves be managed by the operator.</p>
<p>Zookeeper is hardened tech at this point and does its job reasonably well. However, it’s a pain to manage and requires a separate set of Zookeeper-specific expertise to deal with problems as they inevitably occur. No one asked to manage an entirely separate distributed system, yet it has historically been a hard requirement in streaming technologies like Kafka, creating additional operational overhead and burden for many Kafka users:</p>
<blockquote>
<p><strong><em>“Running five node zookeeper clusters was pure overhead.” —</em> <strong><strong><em>Hacker News</em></strong></strong></strong></p>
</blockquote>
<p>The issue is near and dear to me — while a product manager at Confluent, I made the case for the removal of the Zookeeper dependency, eventually resulting in the landmark <a href="https://cwiki.apache.org/confluence/display/KAFKA/KIP-500%3A+Replace+ZooKeeper+with+a+Self-Managed+Metadata+Quorum">KIP (Kafka Improvement Proposal)-500</a> which proposed replacing Zookeeper with a self-managed quorum. KIP-500 was met with applause from much of the Kafka community, who were sick and tired of dealing with Zookeeper. It was time for the Zookeeper to retire.</p>
<p>Removing a core dependency from a decade-old technology is not trivial. A year and a half after the publication of KIP-500, Zookeeper removal proceeds with incremental steps, necessary to mitigate potential migration issues. This can’t be done in a single update.</p>
<p>Redpanda takes a different approach. Thoughtfully architected from the start to leverage the open source <a href="https://raft.github.io/">Raft consensus algorithm</a>, Redpanda obviates the need for a third-party consensus system like Zookeeper. This meaningfully reduces operational complexity and has a direct, positive impact on developer productivity:</p>
<blockquote>
<p><strong><em>“We care about reliability and performance at Zenly, so no Zookeeper and 10x faster was a no brainer.” —</em> <strong><strong><em>Jean-Baptiste Dalido, Head of Infrastructure Engineering, Zenly</em></strong></strong></strong></p>
</blockquote>
<h1>No JVM</h1>
<blockquote>
<p><strong><em>“I was avoiding Kafka for some time because of admin costs and lack of JVM expertise” —</em> <strong><strong><em>Vectorized Community Slack</em></strong></strong></strong></p>
</blockquote>
<p>Another driver of complexity in the event streaming ecosystem historically has been the Java Virtual Machine, or JVM, a hard requirement in Java-based systems. The JVM is the virtual machine that enables applications compiled to Java bytecode to run, acting as an intermediary between the source code and the system.</p>
<p>Unfortunately, JVM expertise is in low supply outside of the Java/Scala developers. Ironically, the JVM is often the source of issues when working with Kafka.</p>
<p>Developers want streaming, but they don’t necessarily want to become Java (assuming they weren’t already familiar) or distributed systems experts. There is meaningful pent-up demand among developers for a non-JVM based streaming architecture to power modern real-time applications. Sizing this up, the Python and JavaScript communities alone could be an order of magnitude greater than the existing Kafka/Java population:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515851679-No_JVM__Redpanda_vectorized_img.png" alt=""></p>
<p>Written in C++, Redpanda needs no JVM and thus users need no JVM knowledge or expertise. This finally moves streaming technology away from Java, a big deal given how many data infrastructure technologies have been built around Java or the JVM over the years:</p>
<blockquote>
<p><strong><em>“This looks awesome! I’ve been waiting for a long time for someone to think outside the JVM, and I really hope this is a growing trend. The “big data” industry has seemingly been joined at the hip with Java ever since Hadoop came onto the scene, and the Apache community in particular has a lot of apps that are deeply unfriendly to non-Java apps” —</em> <strong><strong><em>Hacker News</em></strong></strong></strong></p>
</blockquote>
<h1>Power to the developers</h1>
<p>Real-time event streaming technologies are not always accessible to the typical software developer. In fact, most individual developers have been left behind in the streaming revolution. Seeing this untapped opportunity, the team at Vectorized architected Redpanda in ways that expand the pool of developers that can productively operate the system.</p>
<h1>Kafka compatibility</h1>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515833048-0_rzLnKt-j8CZ6Ezd6.png" alt=""></p>
<p>Too often, when new technology comes around it bifurcates the existing community in an attempt to grow adoption. This leaves individual developers and teams in the ensuing crossfire.</p>
<p>In building the future of real-time streaming, Redpanda respects what came before it. Despite all its improvement under the hood, Redpanda maintains <strong><strong>full API compatibility with Kafka</strong></strong>. This means that existing Kafka-based systems can be swapped over to Redpanda with no changes to existing applications, making for an easy and straightforward migration path.</p>
<p>More than a smart business move, maintaining Kafka compatibility makes Redpanda much more accessible to existing Kafka users. This is important because developers in fact love the Kafka <strong>API</strong>, though they don’t always love managing the associated infrastructure.</p>
<p>Further, Kafka API compatibility means that Redpanda users can continue to leverage the amazing Kafka ecosystem that has built up over the years. This can lead to interesting combinations of Kaka-related tools and Redpanda as the core streaming engine:</p>
<blockquote>
<p><strong><em>“Very cool — I was able to use a kafka connector to get websocket fanout out of a redpanda installation no problem. I’ll be writing a blogpost about this.” —</em> <strong><strong><em>Vectorized Community Slack</em></strong></strong></strong></p>
</blockquote>
<h1>WebAssembly</h1>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515854093-The_future_of_streaming_Redpanda_vectorized_img.png" alt=""></p>
<p><a href="https://webassembly.org/">WebAssembly</a>, or WASM, is one of the most exciting up-and-coming technologies in software development today. WebAssembly lets developers write code in any major language, translate that code to the compact WASM format, and run it on the web with the high performance of a native application.</p>
<p>Redpanda is one of the first infrastructure technologies to take advantage of WASM, enabling developers to “write and edit code in their favorite programming language to perform one-shot transformations, like guaranteeing GDPR compliance by removing personal information or to provide filtering and simple aggregation functions.” Here’s how one community member described Redpanda’s WASM engine:</p>
<blockquote>
<p><strong><em>“Very clever and useful way to take advantage of WASM… It reminds me a little bit of JS-derived views in CouchDB, just way more powerful and performant thanks to WASM rather than plain JS interpreter”</em> <strong><strong><em>— Vectorized Community Slack</em></strong></strong></strong></p>
</blockquote>
<p>JavaScript, Python, Rust, Go — anything that compiles to WebAssembly (basically everything at this point) can be used to transform data. Again the key is accessibility — inline WASM transforms in Redpanda represent just that. WASM also unlocks interesting use cases beginning to emerge among the community:</p>
<blockquote>
<p><strong><em>“What excites me the most is the WebAssembly feature, as it enables us to create a “Data Firewall’’, the last mile of access, transforms and policy.” —</em> <strong><strong><em>Jean-Baptiste Dalido, Head of Infrastructure Engineering, Zenly</em></strong></strong></strong></p>
</blockquote>
<h1>Gotta go fast</h1>
<p>Performance isn’t often pitched as a productivity boost. But it is, especially at scale.</p>
<p>Better performance at the <strong>infrastructure</strong> level leaves more room for the application itself to function as intended without running into resource constraints. This means less optimization work by the developer and also opens up streaming to other languages like JavaScript and Python, whose worse performance as high-level languages is balanced out by speed at the infrastructure level.</p>
<p>To better understand this, let’s talk cores and tails.</p>
<h1>Hold my Coors, I mean, cores</h1>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515837355-Hold_my_core_Redpanda_vectorized_img.png" alt=""></p>
<p>Hardware is moving target, continuously evolving and improving. The last 15 years have been no exception. The underlying hardware targeted by streaming and message queue systems has changed meaningfully since the advent of real-time systems, opening up new opportunities for performance enhancements that take advantage of new physical resources.</p>
<p>Written in lower-level C++, Redpanda’s <a href="https://vectorized.io/blog/tpc-buffers/">thread-per-core architecture</a> is optimized for modern hardware and squeezes out every last bit of performance, fully exploiting the resources it runs on. Redpanda also comes with <a href="https://vectorized.io/blog/autotune-series-part-1-storage/">intelligent auto-tuning</a> out-of-the-box, which automatically generates optimal settings for your specific hardware/kernel/Redpanda setup. Organizations can do more with less, and the benefits extends down to the level of the individual developer too, who now has more “breathing room” when it comes to performance due to Redpanda’s more efficient streaming engine. Developers can worry less about optimization and just write the applications they want, enhancing developer productivity.</p>
<h1>Don’t fail in the tail</h1>
<p>Averages rarely tell the whole story when it comes to performance. Latency, for example, can be, on average, quite similar between two systems and yet diverge meaningfully at the 99th+ percentile. Reliable performance “in the tails” is critical for certain use cases like fraud detection, where financial institutions must return decisions ASAP at the point of sale.</p>
<p>Unfortunately, performance issues often “hide” in the tails of the latency distribution, only rearing their head periodically. But when they do pop up, the delays can be monstrous.</p>
<p>Because Vectorized built a new storage engine from scratch that removes much of the overhead in Kafka and can fully saturate the underlying device, Redpanda operates with stable tail latencies. This means architects get predictable performance in their applications and fewer unexpected spikes in latency.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515835504-End-to-End_Latency_Percentiles_Redpanda_vectorized_img.png" alt=""></p>
<p>This sort of reliability is difficult to achieve in JVM-based systems like Kafka. With a C++-based architecture and CPU-level optimizations, Redpanda achieves 19x better tail latency.</p>
<h1>Developer love always wins</h1>
<p>We love Vectorized’s focus on improving the developer experience for real-time infrastructure. Redpanda represents an improvement to the status quo along multiple dimensions. Through simplicity, accessibility, and performance enhancements, Redpanda opens up streaming to a wider audience of developers who, at the end of the day, simply want to write applications — <strong>without</strong> having to struggle with operational complexity.</p>
<p>Here’s how one engineer put it:</p>
<blockquote>
<p>Congratulations to <a href="https://twitter.com/emaxerrno?ref_src=twsrc%5Etfw">@emaxerrno</a> and the <a href="https://twitter.com/VectorizedIO?ref_src=twsrc%5Etfw">@VectorizedIO</a> team on their funding!</p>
<p>Their mission to make a faster and more reliable Kafka alternative is a worthy one. Our industry deserves diverse data infrastructure options, and it's exciting to see so many new ones getting traction.</p>
<p>— Large Data Bank (@JordanALewis) <a href="https://twitter.com/JordanALewis/status/1354149159755010056?ref_src=twsrc%5Etfw">January 26, 2021</a></p>
</blockquote>
<p>We at Lightspeed couldn’t agree more.</p>
<p><strong>Want to learn more, connect with the Vectorized team, and meet other Redpanda users? Join the</strong> <a href="https://vectorized.io/slack"><strong>Slack community</strong></a><strong>, check out the</strong> <a href="https://github.com/vectorizedio/redpanda"><strong>repo</strong></a><strong>, and sign up for early access to</strong> <a href="https://vectorized.io/cloud"><strong>Vectorized Cloud</strong></a><strong>.</strong></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[There's Nothing Magical About the SaaS Magic Number]]>
                        </title>
                        <description>
                            <![CDATA[Magic number is a bad metric. Sales and marketing drives much less revenue than this not-so-magical number implies]]>
                        </description>
                        <link>https://whoisnnamdi.com/magical-magic-number/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/magical-magic-number/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 04 Feb 2021 22:38:47 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512229971-1yocKpYAcw.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>I've never liked the SaaS "magic number."</p>
<p>It always struck me as somewhat contrived — a simple metric with intuitive appeal, but one that is so overused and confused at this point that it harms analysis more than it helps.</p>
<p>My core beef with the metric is that it takes what is fundamentally a <strong>correlational</strong> relationship and confuses it with <strong>causality</strong>, to the chagrin of many strategic finance teams on the inside and investors attempting to model and forecast businesses from the outside.</p>
<p>While it'd be an overstep to say that sales and marketing doesn't cause revenue growth at all, I've realized most companies and investors are totally confused about the extent to which it does.</p>
<p>I want to set the story straight.</p>
<p>First, let's get definitions out of the way. "<a href="https://www.thesaascfo.com/calculate-saas-magic-number/">Magic number</a>" is defined as follows:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.018ex;" xmlns="http://www.w3.org/2000/svg" width="36.533ex" height="5.167ex" role="img" focusable="false" viewBox="0 -1392 16147.6 2284" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-4E" d="M42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-1-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-1-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-1-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-1-TEX-N-26" d="M156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164Z"></path><path id="MJX-1-TEX-N-6B" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(917,0)"></use><use data-c="67" xlink:href="#MJX-1-TEX-N-67" transform="translate(1417,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(1917,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(2195,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2639,0)"></use><use data-c="4E" xlink:href="#MJX-1-TEX-N-4E" transform="translate(2889,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(3639,0)"></use><use data-c="6D" xlink:href="#MJX-1-TEX-N-6D" transform="translate(4195,0)"></use><use data-c="62" xlink:href="#MJX-1-TEX-N-62" transform="translate(5028,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(5584,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(6028,0)"></use></g><g data-mml-node="mo" transform="translate(6697.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(7753.6,0)"><g data-mml-node="mtext" transform="translate(2003,676)"><use data-c="4E" xlink:href="#MJX-1-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-1-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-1-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-1-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-1-TEX-N-52" transform="translate(3652,0)"></use></g><g data-mml-node="mtext" transform="translate(220,-686)"><use data-c="53" xlink:href="#MJX-1-TEX-N-53"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(556,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(1056,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1334,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(1778,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2172,0)"></use><use data-c="26" xlink:href="#MJX-1-TEX-N-26" transform="translate(2422,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(3200,0)"></use><use data-c="4D" xlink:href="#MJX-1-TEX-N-4D" transform="translate(3450,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(4367,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(4867,0)"></use><use data-c="6B" xlink:href="#MJX-1-TEX-N-6B" transform="translate(5259,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(5787,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(6231,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(6620,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(6898,0)"></use><use data-c="67" xlink:href="#MJX-1-TEX-N-67" transform="translate(7454,0)"></use></g><rect width="8154" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>Magic number is typically calculated on a quarterly basis, often with S&#x26;M shifted back one period, better matching and reflecting that software sales typically take anywhere from 3-6 months.</p>
<p>Magic number is just a ratio — it's New ARR divided by S&#x26;M expense. It tells us nothing about the degree to which that spending caused the New ARR. In fact, for reasons I will illuminate, the degree to which S&#x26;M spending actually causes new revenue is almost certainly less than is implied by this not-so-magical ratio. In other words, <strong>magic number overestimates the causal impact of S&#x26;M spending</strong>, rendering it useless for decision making.</p>
<p>Here's why:</p>
<ul>
<li><strong>Omitted / confounding variables</strong></li>
<li><strong>Reverse causality and simultaneity</strong></li>
<li><strong>Observation vs. intervention</strong></li>
</ul>
<p>I'll walk through each in turn.</p>
<h2>Omitted / confounding variables</h2>
<p>Magic number is a faulty metric because it ignores important revenue growth factors and incorrectly attributes those growth contributions to "sales and marketing efficiency."</p>
<p>To illustrate this, I'll start with a very simple point. Refer back to the definition of magic number — New ARR divided by sales and marketing spend:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.018ex;" xmlns="http://www.w3.org/2000/svg" width="36.533ex" height="5.167ex" role="img" focusable="false" viewBox="0 -1392 16147.6 2284" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-2-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-2-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-2-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-2-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-2-TEX-N-20" d=""></path><path id="MJX-2-TEX-N-4E" d="M42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42Z"></path><path id="MJX-2-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-2-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-2-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-2-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-2-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-2-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-2-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-2-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-2-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-2-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-2-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-2-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-2-TEX-N-26" d="M156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164Z"></path><path id="MJX-2-TEX-N-6B" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36Z"></path><path id="MJX-2-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-2-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-2-TEX-N-4D"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(917,0)"></use><use data-c="67" xlink:href="#MJX-2-TEX-N-67" transform="translate(1417,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(1917,0)"></use><use data-c="63" xlink:href="#MJX-2-TEX-N-63" transform="translate(2195,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(2639,0)"></use><use data-c="4E" xlink:href="#MJX-2-TEX-N-4E" transform="translate(2889,0)"></use><use data-c="75" xlink:href="#MJX-2-TEX-N-75" transform="translate(3639,0)"></use><use data-c="6D" xlink:href="#MJX-2-TEX-N-6D" transform="translate(4195,0)"></use><use data-c="62" xlink:href="#MJX-2-TEX-N-62" transform="translate(5028,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(5584,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(6028,0)"></use></g><g data-mml-node="mo" transform="translate(6697.8,0)"><use data-c="3D" xlink:href="#MJX-2-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(7753.6,0)"><g data-mml-node="mtext" transform="translate(2003,676)"><use data-c="4E" xlink:href="#MJX-2-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-2-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-2-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-2-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-2-TEX-N-52" transform="translate(3652,0)"></use></g><g data-mml-node="mtext" transform="translate(220,-686)"><use data-c="53" xlink:href="#MJX-2-TEX-N-53"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(556,0)"></use><use data-c="6C" xlink:href="#MJX-2-TEX-N-6C" transform="translate(1056,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(1334,0)"></use><use data-c="73" xlink:href="#MJX-2-TEX-N-73" transform="translate(1778,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(2172,0)"></use><use data-c="26" xlink:href="#MJX-2-TEX-N-26" transform="translate(2422,0)"></use><use data-c="20" xlink:href="#MJX-2-TEX-N-20" transform="translate(3200,0)"></use><use data-c="4D" xlink:href="#MJX-2-TEX-N-4D" transform="translate(3450,0)"></use><use data-c="61" xlink:href="#MJX-2-TEX-N-61" transform="translate(4367,0)"></use><use data-c="72" xlink:href="#MJX-2-TEX-N-72" transform="translate(4867,0)"></use><use data-c="6B" xlink:href="#MJX-2-TEX-N-6B" transform="translate(5259,0)"></use><use data-c="65" xlink:href="#MJX-2-TEX-N-65" transform="translate(5787,0)"></use><use data-c="74" xlink:href="#MJX-2-TEX-N-74" transform="translate(6231,0)"></use><use data-c="69" xlink:href="#MJX-2-TEX-N-69" transform="translate(6620,0)"></use><use data-c="6E" xlink:href="#MJX-2-TEX-N-6E" transform="translate(6898,0)"></use><use data-c="67" xlink:href="#MJX-2-TEX-N-67" transform="translate(7454,0)"></use></g><rect width="8154" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>The first thing to note is that New ARR has two sources — S&#x26;M and "other stuff":</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.186ex;" xmlns="http://www.w3.org/2000/svg" width="63.247ex" height="1.805ex" role="img" focusable="false" viewBox="0 -716 27955 798" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-N-4E" d="M42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42Z"></path><path id="MJX-3-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-3-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-3-TEX-N-20" d=""></path><path id="MJX-3-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-3-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-3-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-3-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-3-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-3-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-3-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-3-TEX-N-26" d="M156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164Z"></path><path id="MJX-3-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-3-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-3-TEX-N-4F" d="M56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM467 647Q426 665 388 665Q360 665 331 654T269 620T213 549T179 439Q174 411 174 354Q174 144 277 61Q327 20 385 20H389H391Q474 20 537 99Q603 188 603 354Q603 411 598 439Q577 592 467 647Z"></path><path id="MJX-3-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-3-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-3-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="4E" xlink:href="#MJX-3-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-3-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-3-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-3-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-3-TEX-N-52" transform="translate(3652,0)"></use></g><g data-mml-node="mo" transform="translate(4665.8,0)"><use data-c="3D" xlink:href="#MJX-3-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(5721.6,0)"><use data-c="4E" xlink:href="#MJX-3-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-3-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-3-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-3-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-3-TEX-N-52" transform="translate(3652,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(4388,0)"></use><use data-c="66" xlink:href="#MJX-3-TEX-N-66" transform="translate(4638,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(4944,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(5336,0)"></use><use data-c="6D" xlink:href="#MJX-3-TEX-N-6D" transform="translate(5836,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(6669,0)"></use><use data-c="53" xlink:href="#MJX-3-TEX-N-53" transform="translate(6919,0)"></use><use data-c="26" xlink:href="#MJX-3-TEX-N-26" transform="translate(7475,0)"></use><use data-c="4D" xlink:href="#MJX-3-TEX-N-4D" transform="translate(8253,0)"></use></g><g data-mml-node="mo" transform="translate(15113.8,0)"><use data-c="2B" xlink:href="#MJX-3-TEX-N-2B"></use></g><g data-mml-node="mtext" transform="translate(16114,0)"><use data-c="4E" xlink:href="#MJX-3-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-3-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-3-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-3-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-3-TEX-N-52" transform="translate(3652,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(4388,0)"></use><use data-c="66" xlink:href="#MJX-3-TEX-N-66" transform="translate(4638,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(4944,0)"></use><use data-c="6F" xlink:href="#MJX-3-TEX-N-6F" transform="translate(5336,0)"></use><use data-c="6D" xlink:href="#MJX-3-TEX-N-6D" transform="translate(5836,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(6669,0)"></use><use data-c="4F" xlink:href="#MJX-3-TEX-N-4F" transform="translate(6919,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(7697,0)"></use><use data-c="68" xlink:href="#MJX-3-TEX-N-68" transform="translate(8086,0)"></use><use data-c="65" xlink:href="#MJX-3-TEX-N-65" transform="translate(8642,0)"></use><use data-c="72" xlink:href="#MJX-3-TEX-N-72" transform="translate(9086,0)"></use><use data-c="20" xlink:href="#MJX-3-TEX-N-20" transform="translate(9478,0)"></use><use data-c="53" xlink:href="#MJX-3-TEX-N-53" transform="translate(9728,0)"></use><use data-c="74" xlink:href="#MJX-3-TEX-N-74" transform="translate(10284,0)"></use><use data-c="75" xlink:href="#MJX-3-TEX-N-75" transform="translate(10673,0)"></use><use data-c="66" xlink:href="#MJX-3-TEX-N-66" transform="translate(11229,0)"></use><use data-c="66" xlink:href="#MJX-3-TEX-N-66" transform="translate(11535,0)"></use></g></g></g></svg></mjx-container>
<p>New ARR can either come from our investments in S&#x26;M or it can come from other sources. This could include organic inbound (which may or may not be "marketing" driven depending on the situation), R&#x26;D (we release a new feature or product that the market already wants, and it effectively sells itself), etc:</p>
<blockquote>
<p>Open source and product lead growth rely heavily on R&#x26;D for GTM. Yet, sales metrics don't account for that.</p>
<p>Lately I pay more attention to gross burn vs. growth rather than sales metrics. The latter simply don't provide an accurate picture of the variable costs in the business.</p>
<p>— martin_casado (@martin_casado) <a href="https://twitter.com/martin_casado/status/1356013483305783299?ref_src=twsrc%5Etfw">January 31, 2021</a></p>
</blockquote>
<p>Rather than enumerate all the possible alternative sources of revenue, let's just crudely summarize them under "Other Stuff" and modify our equation to reflect this attribution:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.018ex;" xmlns="http://www.w3.org/2000/svg" width="68.839ex" height="5.167ex" role="img" focusable="false" viewBox="0 -1392 30427 2284" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-4-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-4-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-4-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-4-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-4-TEX-N-20" d=""></path><path id="MJX-4-TEX-N-4E" d="M42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42Z"></path><path id="MJX-4-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-4-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-4-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-4-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-4-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-4-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-4-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-4-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-4-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-4-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-4-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-4-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-4-TEX-N-26" d="M156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164Z"></path><path id="MJX-4-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-4-TEX-N-4F" d="M56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM467 647Q426 665 388 665Q360 665 331 654T269 620T213 549T179 439Q174 411 174 354Q174 144 277 61Q327 20 385 20H389H391Q474 20 537 99Q603 188 603 354Q603 411 598 439Q577 592 467 647Z"></path><path id="MJX-4-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-4-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-4-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-4-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-4-TEX-N-6B" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36Z"></path><path id="MJX-4-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-4-TEX-N-4D"></use><use data-c="61" xlink:href="#MJX-4-TEX-N-61" transform="translate(917,0)"></use><use data-c="67" xlink:href="#MJX-4-TEX-N-67" transform="translate(1417,0)"></use><use data-c="69" xlink:href="#MJX-4-TEX-N-69" transform="translate(1917,0)"></use><use data-c="63" xlink:href="#MJX-4-TEX-N-63" transform="translate(2195,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(2639,0)"></use><use data-c="4E" xlink:href="#MJX-4-TEX-N-4E" transform="translate(2889,0)"></use><use data-c="75" xlink:href="#MJX-4-TEX-N-75" transform="translate(3639,0)"></use><use data-c="6D" xlink:href="#MJX-4-TEX-N-6D" transform="translate(4195,0)"></use><use data-c="62" xlink:href="#MJX-4-TEX-N-62" transform="translate(5028,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(5584,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(6028,0)"></use></g><g data-mml-node="mo" transform="translate(6697.8,0)"><use data-c="3D" xlink:href="#MJX-4-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(7753.6,0)"><g data-mml-node="mrow" transform="translate(220,676)"><g data-mml-node="mtext"><use data-c="4E" xlink:href="#MJX-4-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-4-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-4-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-4-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-4-TEX-N-52" transform="translate(3652,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(4388,0)"></use><use data-c="66" xlink:href="#MJX-4-TEX-N-66" transform="translate(4638,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(4944,0)"></use><use data-c="6F" xlink:href="#MJX-4-TEX-N-6F" transform="translate(5336,0)"></use><use data-c="6D" xlink:href="#MJX-4-TEX-N-6D" transform="translate(5836,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(6669,0)"></use><use data-c="53" xlink:href="#MJX-4-TEX-N-53" transform="translate(6919,0)"></use><use data-c="26" xlink:href="#MJX-4-TEX-N-26" transform="translate(7475,0)"></use><use data-c="4D" xlink:href="#MJX-4-TEX-N-4D" transform="translate(8253,0)"></use></g><g data-mml-node="mo" transform="translate(9392.2,0)"><use data-c="2B" xlink:href="#MJX-4-TEX-N-2B"></use></g><g data-mml-node="mtext" transform="translate(10392.4,0)"><use data-c="4E" xlink:href="#MJX-4-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-4-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-4-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-4-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-4-TEX-N-52" transform="translate(3652,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(4388,0)"></use><use data-c="66" xlink:href="#MJX-4-TEX-N-66" transform="translate(4638,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(4944,0)"></use><use data-c="6F" xlink:href="#MJX-4-TEX-N-6F" transform="translate(5336,0)"></use><use data-c="6D" xlink:href="#MJX-4-TEX-N-6D" transform="translate(5836,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(6669,0)"></use><use data-c="4F" xlink:href="#MJX-4-TEX-N-4F" transform="translate(6919,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(7697,0)"></use><use data-c="68" xlink:href="#MJX-4-TEX-N-68" transform="translate(8086,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(8642,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(9086,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(9478,0)"></use><use data-c="53" xlink:href="#MJX-4-TEX-N-53" transform="translate(9728,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(10284,0)"></use><use data-c="75" xlink:href="#MJX-4-TEX-N-75" transform="translate(10673,0)"></use><use data-c="66" xlink:href="#MJX-4-TEX-N-66" transform="translate(11229,0)"></use><use data-c="66" xlink:href="#MJX-4-TEX-N-66" transform="translate(11535,0)"></use></g></g><g data-mml-node="mtext" transform="translate(7359.7,-686)"><use data-c="53" xlink:href="#MJX-4-TEX-N-53"></use><use data-c="61" xlink:href="#MJX-4-TEX-N-61" transform="translate(556,0)"></use><use data-c="6C" xlink:href="#MJX-4-TEX-N-6C" transform="translate(1056,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(1334,0)"></use><use data-c="73" xlink:href="#MJX-4-TEX-N-73" transform="translate(1778,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(2172,0)"></use><use data-c="26" xlink:href="#MJX-4-TEX-N-26" transform="translate(2422,0)"></use><use data-c="20" xlink:href="#MJX-4-TEX-N-20" transform="translate(3200,0)"></use><use data-c="4D" xlink:href="#MJX-4-TEX-N-4D" transform="translate(3450,0)"></use><use data-c="61" xlink:href="#MJX-4-TEX-N-61" transform="translate(4367,0)"></use><use data-c="72" xlink:href="#MJX-4-TEX-N-72" transform="translate(4867,0)"></use><use data-c="6B" xlink:href="#MJX-4-TEX-N-6B" transform="translate(5259,0)"></use><use data-c="65" xlink:href="#MJX-4-TEX-N-65" transform="translate(5787,0)"></use><use data-c="74" xlink:href="#MJX-4-TEX-N-74" transform="translate(6231,0)"></use><use data-c="69" xlink:href="#MJX-4-TEX-N-69" transform="translate(6620,0)"></use><use data-c="6E" xlink:href="#MJX-4-TEX-N-6E" transform="translate(6898,0)"></use><use data-c="67" xlink:href="#MJX-4-TEX-N-67" transform="translate(7454,0)"></use></g><rect width="22433.4" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>If we break this fraction into two parts, the first would represent "true" magic number — the true causal impact of S&#x26;M spend — while the second would represent the degree to which the typical measure of magic number is inflated by misattribution of New ARR:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -5.482ex;" xmlns="http://www.w3.org/2000/svg" width="78.041ex" height="8.632ex" role="img" focusable="false" viewBox="0 -1392 34494 3815.2" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-5-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-5-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-5-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-5-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-5-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-5-TEX-N-64" d="M376 495Q376 511 376 535T377 568Q377 613 367 624T316 637H298V660Q298 683 300 683L310 684Q320 685 339 686T376 688Q393 689 413 690T443 693T454 694H457V390Q457 84 458 81Q461 61 472 55T517 46H535V0Q533 0 459 -5T380 -11H373V44L365 37Q307 -11 235 -11Q158 -11 96 50T34 215Q34 315 97 378T244 442Q319 442 376 393V495ZM373 342Q328 405 260 405Q211 405 173 369Q146 341 139 305T131 211Q131 155 138 120T173 59Q203 26 251 26Q322 26 373 103V342Z"></path><path id="MJX-5-TEX-N-20" d=""></path><path id="MJX-5-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-5-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-5-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-5-TEX-N-4E" d="M42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42Z"></path><path id="MJX-5-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-5-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-5-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-5-TEX-N-54" d="M36 443Q37 448 46 558T55 671V677H666V671Q667 666 676 556T685 443V437H645V443Q645 445 642 478T631 544T610 593Q593 614 555 625Q534 630 478 630H451H443Q417 630 414 618Q413 616 413 339V63Q420 53 439 50T528 46H558V0H545L361 3Q186 1 177 0H164V46H194Q264 46 283 49T309 63V339V550Q309 620 304 625T271 630H244H224Q154 630 119 601Q101 585 93 554T81 486T76 443V437H36V443Z"></path><path id="MJX-5-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-5-TEX-N-77" d="M90 368Q84 378 76 380T40 385H18V431H24L43 430Q62 430 84 429T116 428Q206 428 221 431H229V385H215Q177 383 177 368Q177 367 221 239L265 113L339 328L333 345Q323 374 316 379Q308 384 278 385H258V431H264Q270 428 348 428Q439 428 454 431H461V385H452Q404 385 404 369Q404 366 418 324T449 234T481 143L496 100L537 219Q579 341 579 347Q579 363 564 373T530 385H522V431H529Q541 428 624 428Q692 428 698 431H703V385H697Q696 385 691 385T682 384Q635 377 619 334L559 161Q546 124 528 71Q508 12 503 1T487 -11H479Q460 -11 456 -4Q455 -3 407 133L361 267Q359 263 266 -4Q261 -11 243 -11H238Q225 -11 220 -3L90 368Z"></path><path id="MJX-5-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-5-TEX-N-52" d="M130 622Q123 629 119 631T103 634T60 637H27V683H202H236H300Q376 683 417 677T500 648Q595 600 609 517Q610 512 610 501Q610 468 594 439T556 392T511 361T472 343L456 338Q459 335 467 332Q497 316 516 298T545 254T559 211T568 155T578 94Q588 46 602 31T640 16H645Q660 16 674 32T692 87Q692 98 696 101T712 105T728 103T732 90Q732 59 716 27T672 -16Q656 -22 630 -22Q481 -16 458 90Q456 101 456 163T449 246Q430 304 373 320L363 322L297 323H231V192L232 61Q238 51 249 49T301 46H334V0H323Q302 3 181 3Q59 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM491 499V509Q491 527 490 539T481 570T462 601T424 623T362 636Q360 636 340 636T304 637H283Q238 637 234 628Q231 624 231 492V360H289Q390 360 434 378T489 456Q491 467 491 499Z"></path><path id="MJX-5-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-5-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-5-TEX-N-4F" d="M56 340Q56 423 86 494T164 610T270 680T388 705Q521 705 621 601T722 341Q722 260 693 191T617 75T510 4T388 -22T267 3T160 74T85 189T56 340ZM467 647Q426 665 388 665Q360 665 331 654T269 620T213 549T179 439Q174 411 174 354Q174 144 277 61Q327 20 385 20H389H391Q474 20 537 99Q603 188 603 354Q603 411 598 439Q577 592 467 647Z"></path><path id="MJX-5-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-5-TEX-N-68" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 124T102 167T103 217T103 272T103 329Q103 366 103 407T103 482T102 542T102 586T102 603Q99 622 88 628T43 637H25V660Q25 683 27 683L37 684Q47 685 66 686T103 688Q120 689 140 690T170 693T181 694H184V367Q244 442 328 442Q451 442 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-5-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-5-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-5-TEX-N-26" d="M156 540Q156 620 201 668T302 716Q354 716 377 671T401 578Q401 505 287 386L274 373Q309 285 416 148L429 132L437 142Q474 191 543 309L562 341V349Q562 368 541 376T498 385H493V431H502L626 428Q709 428 721 431H727V385H712Q688 384 669 379T639 369T618 354T603 337T591 316T578 295Q537 223 506 176T464 117T454 104Q454 102 471 85T497 62Q543 24 585 24Q618 24 648 48T682 113V121H722V112Q721 94 714 75T692 32T646 -7T574 -22Q491 -19 414 42L402 51L391 42Q312 -22 224 -22Q144 -22 93 25T42 135Q42 153 46 169T55 197T74 225T96 249T125 278T156 308L195 347L190 360Q185 372 182 382T174 411T165 448T159 491T156 540ZM361 576Q361 613 348 646T305 679Q272 679 252 649T232 572Q232 497 255 426L259 411L267 420Q361 519 361 576ZM140 164Q140 103 167 64T240 24Q271 24 304 36T356 61T374 77Q295 156 235 262L220 292L210 310L193 293Q177 277 169 268T151 229T140 164Z"></path><path id="MJX-5-TEX-N-6B" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T97 124T98 167T98 217T98 272T98 329Q98 366 98 407T98 482T98 542T97 586T97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V463L180 233L240 287Q300 341 304 347Q310 356 310 364Q310 383 289 385H284V431H293Q308 428 412 428Q475 428 484 431H489V385H476Q407 380 360 341Q286 278 286 274Q286 273 349 181T420 79Q434 60 451 53T500 46H511V0H505Q496 3 418 3Q322 3 307 0H299V46H306Q330 48 330 65Q330 72 326 79Q323 84 276 153T228 222L176 176V120V84Q176 65 178 59T189 49Q210 46 238 46H254V0H246Q231 3 137 3T28 0H20V46H36Z"></path><path id="MJX-5-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-5-TEX-S4-E152" d="M-24 327L-18 333H-1Q11 333 15 333T22 329T27 322T35 308T54 284Q115 203 225 162T441 120Q454 120 457 117T460 95V60V28Q460 8 457 4T442 0Q355 0 260 36Q75 118 -16 278L-24 292V327Z"></path><path id="MJX-5-TEX-S4-E153" d="M-10 60V95Q-10 113 -7 116T9 120Q151 120 250 171T396 284Q404 293 412 305T424 324T431 331Q433 333 451 333H468L474 327V292L466 278Q375 118 190 36Q95 0 8 0Q-5 0 -7 3T-10 24V60Z"></path><path id="MJX-5-TEX-S4-E151" d="M-10 60Q-10 104 -10 111T-5 118Q-1 120 10 120Q96 120 190 84Q375 2 466 -158L474 -172V-207L468 -213H451H447Q437 -213 434 -213T428 -209T423 -202T414 -187T396 -163Q331 -82 224 -41T9 0Q-4 0 -7 3T-10 25V60Z"></path><path id="MJX-5-TEX-S4-E150" d="M-18 -213L-24 -207V-172L-16 -158Q75 2 260 84Q334 113 415 119Q418 119 427 119T440 120Q454 120 457 117T460 98V60V25Q460 7 457 4T441 0Q308 0 193 -55T25 -205Q21 -211 18 -212T-1 -213H-18Z"></path><path id="MJX-5-TEX-S4-E154" d="M-10 0V120H410V0H-10Z"></path><path id="MJX-5-TEX-N-49" d="M328 0Q307 3 180 3T32 0H21V46H43Q92 46 106 49T126 60Q128 63 128 342Q128 620 126 623Q122 628 118 630T96 635T43 637H21V683H32Q53 680 180 680T328 683H339V637H317Q268 637 254 634T234 623Q232 620 232 342Q232 63 234 60Q238 55 242 53T264 48T317 46H339V0H328Z"></path><path id="MJX-5-TEX-N-46" d="M128 619Q121 626 117 628T101 631T58 634H25V680H582V676Q584 670 596 560T610 444V440H570V444Q563 493 561 501Q555 538 543 563T516 601T477 622T431 631T374 633H334H286Q252 633 244 631T233 621Q232 619 232 490V363H284Q287 363 303 363T327 364T349 367T372 373T389 385Q407 403 410 459V480H450V200H410V221Q407 276 389 296Q381 303 371 307T348 313T327 316T303 317T284 317H232V189L233 61Q240 54 245 52T270 48T333 46H360V0H348Q324 3 182 3Q51 3 36 0H25V46H58Q100 47 109 49T128 61V619Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-5-TEX-N-4D"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(917,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(1361,0)"></use><use data-c="73" xlink:href="#MJX-5-TEX-N-73" transform="translate(1861,0)"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(2255,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(2811,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(3203,0)"></use><use data-c="64" xlink:href="#MJX-5-TEX-N-64" transform="translate(3647,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(4203,0)"></use><use data-c="4D" xlink:href="#MJX-5-TEX-N-4D" transform="translate(4453,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(5370,0)"></use><use data-c="67" xlink:href="#MJX-5-TEX-N-67" transform="translate(5870,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(6370,0)"></use><use data-c="63" xlink:href="#MJX-5-TEX-N-63" transform="translate(6648,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(7092,0)"></use><use data-c="4E" xlink:href="#MJX-5-TEX-N-4E" transform="translate(7342,0)"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(8092,0)"></use><use data-c="6D" xlink:href="#MJX-5-TEX-N-6D" transform="translate(8648,0)"></use><use data-c="62" xlink:href="#MJX-5-TEX-N-62" transform="translate(9481,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(10037,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(10481,0)"></use></g><g data-mml-node="mo" transform="translate(11150.8,0)"><use data-c="3D" xlink:href="#MJX-5-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(12206.6,0)"><use data-c="54" xlink:href="#MJX-5-TEX-N-54"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(722,0)"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(1114,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(1670,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(2114,0)"></use><use data-c="4D" xlink:href="#MJX-5-TEX-N-4D" transform="translate(2364,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(3281,0)"></use><use data-c="67" xlink:href="#MJX-5-TEX-N-67" transform="translate(3781,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(4281,0)"></use><use data-c="63" xlink:href="#MJX-5-TEX-N-63" transform="translate(4559,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(5003,0)"></use><use data-c="4E" xlink:href="#MJX-5-TEX-N-4E" transform="translate(5253,0)"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(6003,0)"></use><use data-c="6D" xlink:href="#MJX-5-TEX-N-6D" transform="translate(6559,0)"></use><use data-c="62" xlink:href="#MJX-5-TEX-N-62" transform="translate(7392,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(7948,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(8392,0)"></use></g><g data-mml-node="mo" transform="translate(21212.8,0)"><use data-c="2B" xlink:href="#MJX-5-TEX-N-2B"></use></g><g data-mml-node="munder" transform="translate(22213,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="OP"><g data-mml-node="munder"><g data-mml-node="mfrac"><g data-mml-node="mtext" transform="translate(220,676)"><use data-c="4E" xlink:href="#MJX-5-TEX-N-4E"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(750,0)"></use><use data-c="77" xlink:href="#MJX-5-TEX-N-77" transform="translate(1194,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(1916,0)"></use><use data-c="41" xlink:href="#MJX-5-TEX-N-41" transform="translate(2166,0)"></use><use data-c="52" xlink:href="#MJX-5-TEX-N-52" transform="translate(2916,0)"></use><use data-c="52" xlink:href="#MJX-5-TEX-N-52" transform="translate(3652,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(4388,0)"></use><use data-c="66" xlink:href="#MJX-5-TEX-N-66" transform="translate(4638,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(4944,0)"></use><use data-c="6F" xlink:href="#MJX-5-TEX-N-6F" transform="translate(5336,0)"></use><use data-c="6D" xlink:href="#MJX-5-TEX-N-6D" transform="translate(5836,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(6669,0)"></use><use data-c="4F" xlink:href="#MJX-5-TEX-N-4F" transform="translate(6919,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(7697,0)"></use><use data-c="68" xlink:href="#MJX-5-TEX-N-68" transform="translate(8086,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(8642,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(9086,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(9478,0)"></use><use data-c="53" xlink:href="#MJX-5-TEX-N-53" transform="translate(9728,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(10284,0)"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(10673,0)"></use><use data-c="66" xlink:href="#MJX-5-TEX-N-66" transform="translate(11229,0)"></use><use data-c="66" xlink:href="#MJX-5-TEX-N-66" transform="translate(11535,0)"></use></g><g data-mml-node="mtext" transform="translate(2163.5,-686)"><use data-c="53" xlink:href="#MJX-5-TEX-N-53"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(556,0)"></use><use data-c="6C" xlink:href="#MJX-5-TEX-N-6C" transform="translate(1056,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(1334,0)"></use><use data-c="73" xlink:href="#MJX-5-TEX-N-73" transform="translate(1778,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(2172,0)"></use><use data-c="26" xlink:href="#MJX-5-TEX-N-26" transform="translate(2422,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(3200,0)"></use><use data-c="4D" xlink:href="#MJX-5-TEX-N-4D" transform="translate(3450,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(4367,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(4867,0)"></use><use data-c="6B" xlink:href="#MJX-5-TEX-N-6B" transform="translate(5259,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(5787,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(6231,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(6620,0)"></use><use data-c="6E" xlink:href="#MJX-5-TEX-N-6E" transform="translate(6898,0)"></use><use data-c="67" xlink:href="#MJX-5-TEX-N-67" transform="translate(7454,0)"></use></g><rect width="12041" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(0,-1317)"><use data-c="E152" xlink:href="#MJX-5-TEX-S4-E152"></use><use data-c="E153" xlink:href="#MJX-5-TEX-S4-E153" transform="translate(11831,0)"></use><g data-c="E156" transform="translate(5690.5,0)"><use data-c="E151" xlink:href="#MJX-5-TEX-S4-E151"></use><use data-c="E150" xlink:href="#MJX-5-TEX-S4-E150" transform="translate(450,0)"></use></g><svg width="5440.5" height="720" x="350" y="-300" viewBox="1360.1 -300 5440.5 720"><use data-c="E154" xlink:href="#MJX-5-TEX-S4-E154" transform="scale(20.402,1)"></use></svg><svg width="5440.5" height="720" x="6490.5" y="-300" viewBox="1360.1 -300 5440.5 720"><use data-c="E154" xlink:href="#MJX-5-TEX-S4-E154" transform="scale(20.402,1)"></use></svg></g></g></g><g data-mml-node="TeXAtom" transform="translate(1359.8,-2177.5) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mtext"><use data-c="4D" xlink:href="#MJX-5-TEX-N-4D"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(917,0)"></use><use data-c="67" xlink:href="#MJX-5-TEX-N-67" transform="translate(1417,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(1917,0)"></use><use data-c="63" xlink:href="#MJX-5-TEX-N-63" transform="translate(2195,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(2639,0)"></use><use data-c="4E" xlink:href="#MJX-5-TEX-N-4E" transform="translate(2889,0)"></use><use data-c="75" xlink:href="#MJX-5-TEX-N-75" transform="translate(3639,0)"></use><use data-c="6D" xlink:href="#MJX-5-TEX-N-6D" transform="translate(4195,0)"></use><use data-c="62" xlink:href="#MJX-5-TEX-N-62" transform="translate(5028,0)"></use><use data-c="65" xlink:href="#MJX-5-TEX-N-65" transform="translate(5584,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(6028,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(6420,0)"></use><use data-c="49" xlink:href="#MJX-5-TEX-N-49" transform="translate(6670,0)"></use><use data-c="6E" xlink:href="#MJX-5-TEX-N-6E" transform="translate(7031,0)"></use><use data-c="66" xlink:href="#MJX-5-TEX-N-66" transform="translate(7587,0)"></use><use data-c="6C" xlink:href="#MJX-5-TEX-N-6C" transform="translate(7893,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(8171,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(8671,0)"></use><use data-c="69" xlink:href="#MJX-5-TEX-N-69" transform="translate(9060,0)"></use><use data-c="6F" xlink:href="#MJX-5-TEX-N-6F" transform="translate(9338,0)"></use><use data-c="6E" xlink:href="#MJX-5-TEX-N-6E" transform="translate(9838,0)"></use><use data-c="20" xlink:href="#MJX-5-TEX-N-20" transform="translate(10394,0)"></use><use data-c="46" xlink:href="#MJX-5-TEX-N-46" transform="translate(10644,0)"></use><use data-c="61" xlink:href="#MJX-5-TEX-N-61" transform="translate(11297,0)"></use><use data-c="63" xlink:href="#MJX-5-TEX-N-63" transform="translate(11797,0)"></use><use data-c="74" xlink:href="#MJX-5-TEX-N-74" transform="translate(12241,0)"></use><use data-c="6F" xlink:href="#MJX-5-TEX-N-6F" transform="translate(12630,0)"></use><use data-c="72" xlink:href="#MJX-5-TEX-N-72" transform="translate(13130,0)"></use></g></g></g></g></g></svg></mjx-container>
<p>In other words, magic number omits important non-S&#x26;M contributors to revenue and in doing so falsely attributes the New ARR from these alternate sources to S&#x26;M. Thus, in a perverse way, we reward ourselves for S&#x26;M "efficiency" when in fact it is other factors that meaningfully drive revenue growth. For all we know, our sales and marketing expenditures could be woefully inefficient, but we fool ourselves into thinking otherwise.</p>
<p>Because these other sources of revenue nearly always contribute positively to ARR growth, the magic number inflation factor is almost always positive, meaning that the standard measure for magic number is typically an inflated estimate of the true causal influence of S&#x26;M spend. This has serious implications for our ability to model and forecast revenue growth based on assumed S&#x26;M inputs.</p>
<p>This also explains why magic number tends to decline when S&#x26;M grows rapidly and tends to increase when S&#x26;M spend is suddenly cut. It's partly because S&#x26;M has diminishing returns, i.e. "true magic number" tends to fluctuate with S&#x26;M spend itself. But the other reason is the inflation factor, which includes S&#x26;M in the denominator. This means that when S&#x26;M grows quickly (specifically, faster than "New ARR from Other Stuff"), the inflation factor decreases, so our measured magic number decreases. The reverse happens when S&#x26;M grows more slowly — magic number inflation increases.</p>
<p>In statistics parlance, magic number is <strong>biased</strong> estimate of the "true" magic number due to omitted or confounding variables:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/02/endogeneity.png" alt="endogeneity"></p>
<p>In the diagram above, Y is New ARR, X is S&#x26;M, Z is a set of observed variables that influence both S&#x26;M and New ARR, and U is a set of unobserved variables that also influence our P&#x26;L. Unobservables are, by definition, not observed and therefore difficult to account for, but at a minimum we should attempt to control for those observed variables that influence S&#x26;M and/or New ARR.</p>
<p>Magic number does neither, guaranteeing that it won't properly measure the impact of S&#x26;M on revenue. Magic number is therefore less a measure of sales efficiency and more a measure of its correlation with new revenue. Another name for this is <strong>spurious correlation</strong>. You've probably seen one of these funny charts before:</p>
<p><img src="https://whoisnnamdi.com/content/images/2021/02/8GLG52Ye5Q.png" alt="8GLG52Ye5Q"></p>
<p>Two variables can be totally unrelated, yet be nearly perfectly correlated. In this case, the "magic number" between margarine consumption and Maine divorces is totally meaningless. Again, the point here isn't that S&#x26;M and New ARR aren't at all related; the point is that because they tend to move together and are <strong>plausibly</strong> related, we tend to think they are much more related than they in fact are.</p>
<h2>Reverse causality and simultaneity</h2>
<p>There's a tendency to think, "Well, S&#x26;M is in the denominator and revenue is in the numerator, so S&#x26;M must be driving revenue." That way of thinking also accords with the way sales and marketing is framed most of the time — they are the "revenue generating" part of the business, so investments in S&#x26;M must, to some extent, drive revenue.</p>
<p>But rarely asked is the reverse — to what degree does revenue cause S&#x26;M expense?</p>
<p>Now, that might at first seem absurd, but don't dismiss it so easily. Revenue almost certain does cause S&#x26;M. How? Well, in the most basic sense, aside from capital raised from the outside, the main source of funding for all expenses on the income statement is revenue. That's where the business earns the cash that it can then spend on various initiatives.</p>
<p>If you still don't believe me, think about this proof of concept. Does COGS (Cost of Goods Sold) cause revenue, or does revenue cause COGS? Clearly revenue causes COGS, by definition, since COGS is the cost of goods <strong>sold</strong>, so something has to be sold (and revenue has to be generated), in order for COGS expense to show up. So clearly, revenue can cause expenses to some degree.</p>
<p>What we choose to spend on S&#x26;M is dependent on the revenue we <strong>expect</strong> to earn. For example, if you know your S&#x26;M is highly effective at driving revenue growth, that is likely to encourage you to invest more in S&#x26;M. Conversely, if S&#x26;M is not very effective at driving revenue, you will likely spend less than you might otherwise. In that subtle way, revenue (or more accurately in this case, expected revenue) influences S&#x26;M spend.</p>
<p>You may not have ever considered this, but it shouldn't be too surprising. There's a reason you rarely see companies spending, say, 500% of revenue on S&#x26;M. Companies typically limit their S&#x26;M spend to some reasonable level relative to current revenue. Therefore, revenue in some way influences S&#x26;M spend. Economists would say that S&#x26;M is <strong><a href="https://en.wikipedia.org/wiki/Endogeneity_%28econometrics%29">endogenously determined</a></strong> — it's not some number we pull out of thin air. Our expectations for how valuable it will be and how much revenue we have in the first place determine how much we invest in S&#x26;M. Further, our business plans and objectives ("hitting XM in ARR by year end") influences our S&#x26;M spending decisions.</p>
<p>This phenomenon — where A causes B and B also causes A — is called <strong>simultaneity</strong> in statistics and econometrics. More colloquially, you might know this as <strong>reverse causation</strong>.</p>
<p>Reverse causation poses a serious problem to our attempts to forecast new revenue from sales and marketing expenditure. Because magic number estimates the relationship between S&#x26;M and revenue from observational data rather than some kind of controlled experiment, we don't know the degree to which one causes the other or the reverse. If a business has a magic number of 1, that could mean that 1 dollar of S&#x26;M causes 1 dollar of New ARR, or it could mean that businesses that <strong>expect</strong> to add 1 dollar in New ARR choose to limit their S&#x26;M to roughly 1 dollar.</p>
<p>The answer is somewhere in the middle, and yet magic number assumes the former. Not good.</p>
<h2>Observation vs. intervention</h2>
<p>The third and final problem with magic number is that is confuses <strong>observation</strong> and <strong>intervention</strong>. This is very related to the notion of correlation vs. causation but goes further by personifying causation a bit.</p>
<p><em>Observation</em> means watching something happen, making no attempts to influence the outcome or the relevant variables. As an analyst measuring the sales efficiency of a software business from the outside, magic number is an observational metric. You can't do anything to influence any of the inputs, you are merely reporting their values. Magic number is not a good measure of sales efficiency, but as long as you acknowledge this caveat, there's nothing inherently wrong with calculating its value, useless though it may be.</p>
<p>However, if you are an actor inside the business intending to intervene in some way, choosing how much to spend on S&#x26;M, the entire game changes. In this case, magic number is not only useless as a measure of sales efficiency, but it is in fact a <strong>logical fallacy</strong> to use it to forecast the revenue impact from assumed S&#x26;M spend.</p>
<p>The reasons behind this are somewhat subtle, but <a href="https://www.inference.vc/about/">this analogy</a> should make it quite clear.</p>
<p><img src="https://upload.wikimedia.org/wikipedia/commons/4/4b/Modern_Aneroid_Barometer.jpg" alt=""></p>
<p>Imagine you have a barometer measuring the air pressure around you. If the barometer is functioning properly, we should <strong>observe</strong> a tight relationship between the pressure reading on the barometer and the actual air pressure. In other words, air pressure and our barometer reading are highly <em>correlated</em>.</p>
<p>However, if we were to hack the barometer and manually change the measurement it reports, would we expect the pressure in the room to change as a result? Obviously not. <strong>Intervening</strong> by changing the pressure reading of the barometer does not impact actual air pressure, despite the 1:1 observational correlation between the two. The interventional or causal relationship between the barometer and air pressure is exactly zero in that direction (though there is a very strong causal influence in the other direction, air pressure to barometer reading). The observational relationship breaks down when we interfere with the system.</p>
<blockquote>
<p>"In summary, y and x are correlated or statistically dependent and therefore seeing x allows me to predict the value of y, but y is not caused by x so setting the value of x won't affect the distribution of y. Hence, p(y|x) and p(y|do(x)) behave very differently." — <a href="https://www.inference.vc/untitled/">ML beyond Curve Fitting</a></p>
</blockquote>
<p>Economists know this as the <a href="https://en.wikipedia.org/wiki/Lucas_critique">Lucas Critique</a>, which tells us that attempting to conduct economic policy based on some macroeconomic model trained on observational data will inevitably fail, as the identified relationships disappear into the ether.</p>
<p><strong>The same logic applies to sales and marketing spending.</strong> We should not expect magic number, which is effectively a measure of the correlation between New ARR and S&#x26;M, to hold constant if we were to purposefully increase S&#x26;M. New ARR and S&#x26;M can be tightly correlated, and yet the observational correlation between the two breaks down when we intervene. Choosing to, say, double S&#x26;M next year does not in any way guarantee that we will book twice as much New ARR. Worse, the breakdown in the relationship tends to go against us — after a significant ramp in expense, sales efficiency almost always ends up being worse than expected, rather than better.</p>
<p>If we are interested in forecasting new revenue based on an intentional choice of S&#x26;M spending, magic number won't do. We need to find a better magic number, one that approximates the true causal impact:</p>
<blockquote>
<p>"In applications where you ultimately want to control or choose x based on the conditional you estimated, you should seek to estimate p(y|do(x)) instead. For example, if x is a medical treatment and y is the outcome, you are not merely interested in observing a naturally occurring treatment x and predicting the outcome, we want to proactively choose the treatment x given our understanding of how it affects the outcome y." — <a href="https://www.inference.vc/untitled/">ML beyond Curve Fitting</a></p>
</blockquote>
<h2>Magic multipliers</h2>
<p>If you're a regular reader of mine, you'll know that this is the part where we transition from theory to data. Can we identify the true causal impact of S&#x26;M on revenue growth?</p>
<p>We can try.</p>
<p>Funnily enough, economists regularly tackle a very similar issue — calculating how much the economy grows when the government spends more money, otherwise known as the "fiscal multiplier." How exactly to calculate these multipliers is a constant debate among economists, but a few methods have emerged with some consensus. Here I will leverage a statistical method called "<a href="https://sites.google.com/site/oscarjorda/home/local-projections">local projections</a>" which I won't explain in detail here, but I will summarize by saying it enables us to calculate the causal impact of an increase in S&#x26;M spend on New ARR over time via a special linear regression. The ratio of the increase in New ARR to the increase in S&#x26;M spend yields the "multiplier", or true magic number in our case.</p>
<p>I've assembled a dataset of anonymized quarterly New ARR and sales and marketing spend for a sample of early to mid-stage software companies. This is far from a representative sample of all software vendors, but with 230 data points across 26 companies we can generate insights nonetheless. As evidence of its non-representativeness, the average magic number in my dataset is <strong>2.1</strong>. Most companies in fact hover closer to 1, but the logic is the same regardless.</p>
<p>First we'll calculate the impact of an increase in S&#x26;M (relative to what it otherwise would have been) on New ARR (again, relative to the counterfactual). We'll recalculate this at various horizons — current quarter (labeled "Q1" below), one quarter out, two quarters out etc (chart on the left). To get the total effect we'll sum up the impacts across quarters (chart on the right):</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2FBYNBFHio-T.png?alt=media&#x26;token=bb38640a-7eae-4478-b4ab-a8914c006c11" alt=""></p>
<p>A 1M increase in S&#x26;M this quarter generates 0.38 more New ARR that same quarter, 0.39 the next quarter, and so on. Cumulatively, over four quarters this adds up to about <strong>2</strong> of additional New ARR vs. if S&#x26;M spend hadn't increased.</p>
<p>Now if this was the entire story we'd say that the true magic number reaches two after four quarters and perhaps continues to increase after that. OK, so perhaps magic number as typically calculated doesn't measure the immediate impact of S&#x26;M spending, but it gets there eventually, right?</p>
<p><strong>But it's not the whole story.</strong> We've cheated a bit here by only counting the initial 1 dollar bump in S&#x26;M spend. But if we increase spending today, spending tomorrow will also be higher. Part of the effect on New ARR we measured above is due to higher spend in the current quarter, but part of it is also driven by higher spend next quarter (and the quarter after that, and so on).</p>
<p>To account for this, we must calculate the effect of S&#x26;M this quarter on S&#x26;M <strong>next</strong> quarter <strong>AND</strong> the quarters thereafter and include the cumulative effect in the denominator of our magic number calculation:</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2FYAnS6FgR3i.png?alt=media&#x26;token=c114258a-743d-4c16-b80f-a8924bb3fb7b" alt=""></p>
<p>The chart above shows the impact of S&#x26;M on <strong>itself</strong> into the future. A 1 dollar increase this quarter leads to the next quarter being 0.70 higher than it would have otherwise been, 0.86 the quarter after that, and so on. Cumulatively, we spend about 3.5M more after four quarters.</p>
<p>Now we can compare the cumulative effect on New ARR to the cumulative increase in S&#x26;M to get a proper measure of the "true" magic number:</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2F1yocKpYAcw.png?alt=media&#x26;token=17eb3eb1-6cf8-4c6c-98f3-7a015c8704bf" alt=""></p>
<p>The true magic number is estimated to be only <strong>0.6</strong> after four quarters, this is less than a <strong>third</strong> of the average magic number in this dataset of 2.1. So not only is the true magic number much lower than the typical calculation, it takes many quarters to reach this much lower cumulative impact. Importantly — <strong>we don't get nearly the bang-for-buck that the traditional magic number implies.</strong></p>
<p>To make this real — a forecast that New ARR will be 2.1x higher next quarter based on a 1 dollar increase in S&#x26;M this quarter will be off by <strong>80%</strong> (per the first chart, New ARR one quarter out is only 0.39 higher) and cumulatively (including the first and second quarter impact) will be off by <strong>78%</strong> (based on 0.46 cumulative magic number at Q2).</p>
<h2>Magic isn't real</h2>
<p>It's worth pointing out some caveats here.</p>
<p>I wasn't able to fully control for the "other stuff" that also drives New ARR. In my regressions I do control for the long-term trends of each variable (via a cubic polynomial time trend interacted with company fixed effects for those who care) which helps account for these unobserved factors, but this is not a perfect solution. I also don't identify a completely exogenous increase in S&#x26;M. Inherently, I assume that S&#x26;M deviations from trend imply unexpected increases in S&#x26;M, but that's also not totally right.</p>
<p>This is amateur econometrics, so it'll do.</p>
<p>My conclusions:</p>
<ul>
<li>
<p><strong>Magic number is a bad metric.</strong> It misleads us into thinking that by turning some knobs we can precisely control revenue growth. It commits the scandalous statistical sin of mixing correlation and causation</p>
</li>
<li>
<p><strong>S&#x26;M alone has little effect on New ARR.</strong> Certainly not in the near term and to a much lesser degree than you might think in the longer run</p>
</li>
<li>
<p><strong>We don't really know how to calculate software sales efficiency.</strong> This analysis leveraged 230 data points to get some level of certainty, but for any particular company it'd be difficult to replicate with only a few quarters or years of data</p>
</li>
</ul>
<p>So what can we use as an alternative?</p>
<p>I've always liked the easy heuristic of <strong>New ARR vs. cash burned</strong>. This ignores specific expense line items and gives companies credit for "all-in" capital efficiency, which is arguably what matters most anyway. It avoids the perils of attributing revenue growth to particular initiatives, like sales and marketing or research and development. Of course, we still have an omitted variable problem (burning cash is not the only way to drive revenue growth), but it's much less severe.</p>
<p><em>3,000 words later, I hope I've convinced you that magic number doesn't tell you much about sales efficiency or productivity. If you've found a better metric, I'd love to hear about it. Feel free to shoot me a note at <a href="mailto:first.last@gmail.com">first.last@gmail.com</a></em></p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Product-Market Fit is Lindy]]>
                        </title>
                        <description>
                            <![CDATA[The longer you search for product-market fit, the less likely you will find it.]]>
                        </description>
                        <link>https://whoisnnamdi.com/product-market-fit-is-lindy/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/product-market-fit-is-lindy/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 17 Dec 2020 18:20:27 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512228437-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>The longer you search for product-market fit, the less likely you will find it.</p>
<p>This phenomenon is called the Lindy effect.</p>
<p>To be "Lindy" means the longer something survives, the more time it has left. Remaining life <em>extends</em>, rather than contracts, with age.</p>
<p>Perishable objects like flesh-and-blood humans don't work this way. As we age, our remaining time on this Earth decreases — a 90 year-old has less expected time left on the clock than an 80 year-old.</p>
<p>But certain non-perishables follow a different rule. Per <a href="https://en.wikipedia.org/wiki/Lindy_effect">Wikipedia</a>:</p>
<blockquote>
<p>The Lindy effect is a theory that the future life expectancy of some non-perishable things like a technology or an idea is proportional to their current age, so that <strong>every additional period of survival implies a longer remaining life expectancy</strong>. Where the Lindy effect applies, <strong>mortality rate decreases with time</strong>.</p>
</blockquote>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515822014-image-20201217101504390.png" alt=""></p>
<p>Product-market fit follows the Lindy effect.</p>
<p>More precisely, <em>lack</em> of product-market fit is "Lindy". <strong>The longer you don't have it, the longer you won't have it.</strong></p>
<p>An additional year of "no product-market fit" implies a longer remaining period of "no product-market fit." The odds of achieving product-market fit with any particular idea decline with time. Thus, <strong>if you don't achieve product-market fit quickly, you may never achieve it at all.</strong></p>
<p>Product-market fit, like the elusive "cure" for cancer, is not a fixed destination, guaranteed to be reached with enough time spent running toward it. In a weird way, moving "toward" it doesn't actually get you any closer to it — it only moves further away.</p>
<p>Product-market fit <em>escapes</em> from you.</p>
<h2>Product-market fit isn't normal</h2>
<p>I was inspired to write this essay by a recent tweet by <a href="https://twitter.com/stanine">Matt MacInnis</a>, COO of <a href="https://www.rippling.com/">Rippling</a>, where he claimed product-market fit is obvious once you have it, suggesting business performance is <a href="https://en.wikipedia.org/wiki/Log-normal_distribution">lognormally distributed</a> vis-a-vis product-market fit:</p>
<blockquote>
<p>(1) It's been said, but now I get it in my gut: if you have to ask whether you’ve found product-market fit, you haven’t. Like most things, it’s lognormal: better PMF yields way, way better biz performance. At a certain point, most assumptions about how to build a co. break. 2/7</p>
<p>— Matt MacInnis (@stanine) <a href="https://twitter.com/stanine/status/1290714927489880065?ref_src=twsrc%5Etfw">August 4, 2020</a></p>
</blockquote>
<p>No, he didn't mention the Lindy effect <em>directly</em>, but that's what instantly came to mind as I read the tweet.</p>
<p>Here's why.</p>
<p>A lognormal distribution is one which, if you take the logarithm of all its possible values, yields a normal distribution. Hence "log" "normal". Due to the exponential nature of the logarithm, lognormal distributions are skewed:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515825412-lognormal-distribution.jpg" alt="lognormal-distribution"></p>
<p>Lognormal distributions are neither normally distributed nor thin-tailed. Instead, they are <a href="https://en.wikipedia.org/wiki/Fat-tailed_distribution">fat-tailed</a>.</p>
<p>This is an important fact.</p>
<p>When MacInnis says performance is lognormal, or skewed, with respect to product-market fit, he's making the point that, once you have product-market fit, <strong>you go straight to the tails</strong>. Business performance accelerates so meaningfully that any ambiguity goes out the window. You get it "in your gut." It becomes obvious, as nearly everything about the business gets better.</p>
<h2>A/B testing with fat tails</h2>
<p>In <a href="https://whoisnnamdi.com/vcs-index-invest/">Why Don't VCs Index Invest</a>, I make the point that, when facing sufficiently fat-tailed distributions, it makes sense to spread your bets widely, avoiding concentration or dependence on any one investment or opportunity. Instead "index invest," placing small bets in everything reasonable without overthinking it too much.</p>
<p>This extends to all domains where fat-tails reign. <a href="https://eduardomazevedo.github.io/papers/azevedo-et-al-ab.pdf">A fascinating paper</a> by researchers at Microsoft, HomeAway, Wharton, and Columbia University applies this logic to the domain of internet search engines and reaches similar conclusions.</p>
<p>Search platforms like Microsoft Bing and Google face a trade-off when A/B testing various changes:</p>
<ul>
<li>run large, data-hungry experiments to get precise effect estimates for potential improvements to the platform</li>
<li>run small, "lean" experiments that do not have much statistical power but nevertheless detect effects if they are large enough</li>
</ul>
<p>The conventional wisdom is that larger A/B tests are better because they increase statistical significance of the experimental results, building confidence that seemingly positive results are, in fact, positive.</p>
<p>It turns out, the optimal choice for how many users to assign to an experiment depends on the fat-tailedness of the distribution of potential returns, or what the researchers call, the "innovation value distribution":</p>
<blockquote>
<p>... <strong>with sufficiently fat tails, this conventional wisdom reverses and the go lean approach of trying many small experiments is preferred</strong>. Intuitively, with sufficiently fat tails, even small experiments are sufficient to detect the largest effects; which in this case account for most total value. Larger experiments detect subtler effects, but these constitute less of the total value; <strong>making the value of information concave</strong>. This case also has different implications for the marginal value of information.</p>
</blockquote>
<p>To translate — when most of the potential gains come from a small number of experimental changes (i.e., innovation is fat-tailed), you're better off running as many experiments as possible so as not to miss the potential "big one." Yes, this might come at the cost of statistical precision, but large effects are so large they can be detected even in small samples.</p>
<p>Another way to think about this is in terms of the "value" of information:</p>
<blockquote>
<p>while the production function is always concave for large numbers of assigned users, its shape with few users depends critically on the thickness of the tails of the prior. If the prior is not too fat-tailed... then the production function is convex. However, <strong>we show that if the prior is very fat-tailed... the production function is concave.</strong></p>
</blockquote>
<p>Again, I translate — when the value of experimentation is fat-tailed, the marginal value of additional information declines as you gather more data because any large, positive innovation is easily detectable with only a small amount of data. Thus, collecting more information doesn't help much — the value of information is <em>concave</em>.</p>
<p>On the other hand, if the value of experimentation is normally distributed or thin-tailed, then there are almost no mammoths out there to find. Instead, most innovations are of middling value. In that range, precision matters, as it can be the difference between accidentally implementing a slightly worse change over a somewhat better one. More information helps decipher between the two. Thus, the value of information is <em>convex</em>.</p>
<p>We can see this in the chart below from the Bing paper, which shows the shape of the experiment "production function" (which effectively represents the value of experimentally gained information) when graphed against experiment sample size. The different lines represent various levels of <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-1-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>, or the assumed fat-tailedness of the innovation distribution. Lower <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-2-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> means fatter tails, and vice versa.</p>
<p>Fat-tailedness (small <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-3-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>) leads to a concave information value curve, whereas thin-tailedness (high <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-4-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>) leads to a convex information value curve:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515820976-image-20200906170720679.png" alt="image-20200906170720679"></p>
<h2>You'll know it when you see it</h2>
<p>So which is it?</p>
<blockquote>
<p>We present evidence—using a sample of approximately 1,505 experiments—suggesting that <strong>innovations at Microsoft Bing have very fat tails</strong>.</p>
</blockquote>
<p><strong>The innovation value distribution is fat-tailed.</strong> So small experiments can detect the largest effects, which represent most of the value of A/B testing:</p>
<blockquote>
<p><strong>If the distribution of innovation quality is sufficiently thick tailed, a few ideas are large outliers</strong>, with very large negative or positive impacts. These are commonly referred to as black swans, or as big wins when they are positive. The production function is concave and has an infinite derivative at n = 0. <strong>The optimal innovation strategy in this case is to run many small experiments, and to test all ideas.</strong></p>
</blockquote>
<p>OK, but what does A/B testing with fat tails have to do with product-market fit?</p>
<p>Think about the search for product-market fit as a sort of multifaceted A/B test. You try various permutations of the product, business, and go-to-market model, looking for something that especially resonates with users or customers. The vast majority of these combinations won't work out, but a handful will. Those few will work <em>so well</em> in fact that they will <em>dwarf</em> the performance of all the other iterations.</p>
<p>If it is true that product-market fit yields much better business performance, then product-market fit should be relatively obvious, even with little data. This suggests that, if you do have some data for an idea and it <em>still</em> isn't obvious to you whether or not it achieves product-market fit, you may have a problem, especially if you've been at it for a while.</p>
<p>But isn't that exactly what MacInnis said?</p>
<blockquote>
<p><strong>"If you have to ask whether you've found product-market fit, you haven't."</strong></p>
</blockquote>
<p>The Bing experiments provide the mathematical and empirical justification for MacInnis' bold statement. While I won't quibble over whether business performance is lognormal or some other distribution, it's clearly quite skewed, just as in the Big experiments. In that kind of world, product-market fit loses much of its mystique — it doesn't take a genius to know whether you have it:</p>
<blockquote>
<p>Consider a startup firm that uses a lean experimentation strategy. The firm tries out many ideas in small A/B tests, in hopes of finding one idea that is a big positive outlier. Even though the A/B tests are imprecise, the firm knows that, <strong>if a signal is several standard errors above the mean, it is likely to be an outlier.</strong> So the firm decides to only implement ideas that are, say, 5 standard errors above the mean. <strong>This means that the firm will almost certainly detect all outliers that are more than, say, 7 standard errors above the mean.</strong></p>
</blockquote>
<p>"<em>You'll know it when you see it</em>" rings quite true.</p>
<p>Due to fat-tailed business performance, it doesn't take much data to know you've achieved product-market fit, nor does it require some complicated, made-up framework from a supposed startup guru. In the context of the Bing analysis, any A/B test that yielded a result more than several standard deviations above the baseline essentially achieved "fit," with a high degree of certainty.</p>
<h2>Starting over</h2>
<p>Let's end by returning to where we began — the Lindy effect.</p>
<p>MacInnis' statement is effectively a rephrasing of the Lindy effect —  if it's taken long to find product-market fit, it's likely going to take <em>a lot</em> longer.</p>
<p>To rephrase once more: since it doesn't take much data to know you have product-market fit (assuming you do, in fact, have it), then if you haven't achieved it yet, you probably have a long way to go.</p>
<p>This is brutal stuff. However, via lean experimentation, planting many flags in various places and quickly shifting gears when no treasure is found, you can, in expectation, start "closer" to the goal. Per the Microsoft paper:</p>
<blockquote>
<p>We call this the "lean experimentation" strategy, as it involves running many cheap experiments in the hopes of finding big wins (or avoiding a negative outlier). This strategy is in line with the lean startup approach, which encourages companies to <strong>quickly iterate through many ideas, experiment, and pivot from ideas that are not resounding successes</strong>.</p>
</blockquote>
<p>I want to emphasize that these are are all probabilistic statements and say nothing about any particular circumstance.</p>
<p>You and your team could have been chasing product-market fit for a given idea for the past year, and, for all anyone knows, it could be just around the corner. Many ideas seemed hopeless and for the longest time didn't work... until they finally did.</p>
<p>But that's not the norm.</p>
<p>Uber, Netflix, Facebook, DoorDash. In each case, soon after launch, it became quite clear they were doing something right. Even in companies that went through many iterations, things started to work very soon after landing on the right idea.</p>
<p>To be clear — the chase does not <em>cause</em> product-market fit to never be achieved. It represents growing <em>evidence</em> it won't be achieved. The chase represents <em>information</em>, the value of which is concave, meaning it has diminishing returns. That one needs to chase at all is, strangely enough, a sign you're on the wrong path.</p>
<p>More viscerally, if the trail through the forest seems much longer than it should be, <strong>you're probably lost</strong>. Breath, regroup, and try something different.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Why We Will Never Have Enough Software Developers]]>
                        </title>
                        <description>
                            <![CDATA[Developers are dropping out of the profession in large numbers]]>
                        </description>
                        <link>https://whoisnnamdi.com/never-enough-developers/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/never-enough-developers/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 27 Oct 2020 17:55:02 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512226770-header-v2-resized.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>We will never have enough software developers.</p>
<p>Developers are dropping out of the profession in large numbers despite efforts to grow the number of computer science graduates and software engineers.</p>
<p>Here's why.</p>
<h2>Developer dropout is real</h2>
<p>Software development has a <em>serious</em> retention problem:</p>
<ul>
<li>At age 26, 59% of engineering and computer science grads work in occupations <em>related</em> to their field of study. By age 50, only 41% work in the same domain, meaning a full <strong>~30% drop out of the field by mid-career</strong></li>
<li>In contrast, engineering and computer science majors who join <em>unrelated</em> fields upon graduation retain at much higher rates, with only 10-15% switching out after the age of 26:</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515812334-W-kECKz1nw.png" alt=""></p>
<p>Engineers often leave engineering for non-STEM management roles. Graduation into management is not surprising. What's surprising is that these are <strong>non-STEM</strong> positions. Engineers swap technical roles for <em>non-technical</em> roles over time.</p>
<p>This phenomenon, which I'll call "<strong>developer dropout</strong>," is a real problem. What's behind it?</p>
<h2>Out with the old skills, in with the new skills</h2>
<p>Programming-related jobs have high rates of skill turnover. Over time, the types of skills required by companies hiring software developers change more rapidly than any other profession.</p>
<p>To demonstrate this, <a href="https://academic.oup.com/qje/article/135/4/1965/5858010">researchers</a> analyzed job postings on more than 40,000 online job boards and company websites between 2007 and 2019, controlling for employer, location, and occupation. They defined "new" skills as those that were rare or non-existent in 2007 but prevalent in 2019 and "old" skills as those that were prevalent in 2007 but rare or extinct in 2019.</p>
<ul>
<li>While only 30% of all job vacancies required at least one new skill by 2019, <strong>47% of computer and mathematical jobs required at least one new skill</strong> (i.e. a skill that was not common back in 2007)</li>
<li>This compares to <em>less than 20%</em> of jobs in fields like education, law, and community and social services</li>
<li>In addition, <strong>16% of jobs in computer and mathematical fields in 2007 required a skill that was obsolete by 2019</strong> (i.e. a skill that was common in 2007 but relatively rare in 2019), more than double any other job category:</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515784045-azDsA9n3rx.png" alt=""></p>
<p>About a third of the change in required skills in computer-related occupations is due to specific new software:</p>
<ul>
<li>The fastest-growing software skills between 2007 and 2019 include <strong>Python, R, and Apache Hadoop</strong></li>
<li>Software that was popular in 2007 but effectively obsolete by 2019 includes QuarkXpress, ActionScript, Solaris, IBM Websphere, and Adobe Flash (ah, finally a name I recognize)</li>
</ul>
<p>Data science, machine learning, and AI saw big increases among technology-intensive jobs as well. For example, the number of STEM-related jobs requiring skills in machine learning and AI grew more than 4x from 2007-2017, touching more than 15% of STEM jobs:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515806294-Pc3AjVflhW.png" alt=""></p>
<p>To better compare rates of skill change across occupations, the researchers came up with a measure of skill change that tracks the absolute growth or decline of various skills within each profession from 2007 to 2019. Occupations whose required skills change rapidly in prevalence among job postings receive a high score, while jobs whose skills do not change much receive a lower score:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515814960-xfeKvOWxo-.png" alt=""></p>
<ul>
<li><strong>Computer-related occupations receive the highest score by far, 4.8</strong>. Note that the mean and standard deviation of this measure are ~3 and ~1 respectively, so computer-related jobs are <strong>nearly two standard deviations away from the typical job in America</strong></li>
<li>Meanwhile, jobs in education and and those involving manual labor have very low skill change scores, typically less than 2.</li>
</ul>
<p>We can get even more granular and look at specific job roles. This level of detail makes the difference even more stark (only showing the fastest changing roles):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515804778-OwoB5xsSdO.png" alt=""></p>
<p>Web development has the highest rate of skill change <em>among all jobs in the country</em>. Next up are sales engineers, another often technical role. Database administrators, computer network architects, sysadmins, and application developers all make the top 10, and we see many other technical roles among the top 30. The mean and standard deviation are similar here, placing web development <strong>more than 3 standard deviations away from the typical job in America</strong> in terms of skill change over time.</p>
<p>Suffice to say, <strong>software development is a rapidly changing profession</strong>.</p>
<p>You might think, however, that skill change would eventually settle down as one becomes more experienced.</p>
<p><em>You'd be wrong.</em> The skills for software engineering jobs change rapidly throughout the entire career lifecycle:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515781496-7ItjXMaTE-.png" alt=""></p>
<ul>
<li>In entry-level roles in computer and engineering occupations all the way through those requiring 12+ years of experience, <strong>the proportion of job postings requiring at least one new skill in 2019 was effectively the same, 40-45%</strong></li>
<li>In contrast, <strong>29% of entry-level non-computing and engineering roles in 2019 required at least one new skill, but this proportion declines to 24%</strong> for jobs requiring more than four years of experience</li>
</ul>
<blockquote>
<p>This means that experienced STEM workers seeking employment in 2019 are often required to possess skills that <strong>were not required</strong> when they entered the labor market in 2007 or earlier.</p>
</blockquote>
<p>Software engineers <strong>never</strong> escape the skill-change vortex, even many years into their careers. Experienced engineers must learn and adopt technologies that didn't even exist when they started out. Developers must constantly retool themselves, even well after their <a href="https://whoisnnamdi.com/college-degrees-software-engineers/">formal education</a> ends.</p>
<h2><a href="https://youtu.be/m1ERvlxgCD8?t=166">Nothing's changed but my change</a></h2>
<p><strong>College majors associated with faster changing jobs pay more early on.</strong></p>
<ul>
<li>In professions with one standard deviation increased skill change, pay is <strong>~30%</strong> higher in the first few years of one's career</li>
<li>If we exclude both the fastest and slowest-changing fields (Engineering/Computer Science at the high end, Health/Education at the low end), the early earnings premium for faster-changing roles increases to <strong>~60%</strong>:</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515788204-heMo13OsG1.png" alt=""></p>
<p><strong>Fast-changing fields pay better.</strong></p>
<p>Notice however that the pay advantage declines over time. By the time one approaches the age of 50, the pay premium for working in rapidly changing fields falls dramatically to only 20-30% vs slower changing professions.</p>
<p>Here's another way to see the eroding pay advantage. The below chart simulates the earnings of the average worker by category of college degree from ages 23 to 50 in 2016 dollars.</p>
<ul>
<li>Computer science and engineering grads start off with sizable advantage vs any other major</li>
<li>However, this premium <em>falls</em> over time as the earnings of CS and engineering graduates plateau over time while the earnings of their peers grow <em>faster</em> for <em>longer</em></li>
<li>In fact, <strong>life and physical science graduates' earnings surpass their computer and engineering classmates by the age of 40</strong>:</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515802377-Lifecyle-Earnings-by-Degree-Category.png" alt=""></p>
<p>Excluding business majors, the earnings premium of software engineering declines over time in both percentage <em>and</em> absolute dollar terms, to the point where engineers barely out-earn social science majors:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515785324-Engineering-_-Computer-Science-Earnings-Premium.png" alt=""></p>
<p>But the focus on college major is somewhat misleading. This phenomenon has less to do with one's field of study and more to do with <em>choice of occupation</em>.</p>
<p>To show this, researchers plotted the earnings premium of various categories workers relative to those with a non-Engineering/Computer Science major working in a non-Engineering/Computer Science job.</p>
<ul>
<li>Workers who major in Engineering or Computer Science but work in unrelated fields actually see their earnings advantage <em>compound</em> over time, rather than decline</li>
<li>On the other hand, regardless of major, individuals who work in Engineering or Computer Science jobs see their earnings advantage erode over the years:</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515803224-OFffH9kBKA.png" alt=""></p>
<blockquote>
<p><strong>Declining relative returns is a feature of STEM jobs, not majors.</strong> The earnings premium for non-STEM majors in STEM occupations starts off near 40%, but declines to 20% within a decade. In contrast, the relative earnings advantage grows over time for computer science and engineering majors working in non-STEM occupations.</p>
</blockquote>
<p>The <strong>profession</strong> of software development drives the declining earnings premium, <strong>not the college major</strong>.</p>
<p>In fact, computer science majors who work in non-CS fields experience the <em>opposite</em> dynamic of their non-developer peers — their relative earnings premium rises as they advance. A CS major who eschews the profession doesn't earn much more than otherwise similar non-CS majors early on, but eventually out-earns their peers by nearly 20%.</p>
<p>OK, that's enough about <em>what</em> is happening. Now let's see <em>why</em> it's happening.</p>
<h2><em>Human</em> capital depreciates too</h2>
<p>Imagine a simple model where workers choose their profession in order to maximize income, which is a derivative of their own skill or human capital. Over time, workers gain new skills, while the value of their existing skills depreciates somewhat due to changing times.</p>
<p>Some workers, endowed with superior ability, learn faster than others, picking up skills at a quicker pace. Those workers will tend to sort into high-skilled, fast-changing professions initially, maximizing their early career earnings. Less impressive workers will sort into low-skilled, slower-changing professions.</p>
<p>In a world where human capital never depreciated, we could imagine that high-skilled individuals like software developers would maintain a relative human capital (and earnings) advantage over other professionals, leading to consistently increasing pay and a stable relative premium:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515791338-Human-Capital--w_o-Depreciation-.png" alt=""></p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515811009-Software-Engineering-Human-Capital-Premium--w_o-Depreciation-.png" alt=""></p>
<p>But, if human capital depreciates over time and that rate of depreciation is higher in rapidly-changing fields like software development, then developers' initial advantage would erode over time, narrowing the gap vs. non-developers:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515790192-Human-Capital--w_-Depreciation-.png" alt=""></p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515810208-Software-Engineering-Human-Capital-Premium--w_-Depreciation-.png" alt=""></p>
<p>This simple model helps explain what we see in the data — the software engineering earnings advantage disappears as the <em>effective</em> human capital gap narrows.</p>
<blockquote>
<p>Applied majors such as computer science, engineering, and business teach vintage-specific skills that become less valuable as new skills are introduced to the workplace over time.</p>
</blockquote>
<p>Specific skills in software development quickly become dated. Programming languages and development frameworks go out of style. Hadoop is hot one year, and it's old news the next. Like a fast, expensive car that quickly loses value as it's driven around town, the skills and human capital of software engineers fall apart without constant, expensive maintenance:</p>
<blockquote>
<p>Intuitively, careers with high rates of obsolescence require workers to learn many new tasks each year, which <strong>diminishes learning gains and lowers the returns to experience</strong>.</p>
</blockquote>
<h2>Quick learners are fast dropouts</h2>
<p>The hits don't stop there. Ironically, <strong>the quickest learners are also the quickest dropouts</strong>.</p>
<p>To understand why, think back to the model we just outlined. Quick learners accumulate human capital faster than their slower peers, which means they have the most to lose when certain skills or abilities fall out of favor. In fact, <strong>the return to being a fast learner is <em>higher</em> in jobs with <em>low</em> rates of skill change</strong> because the learnings can <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">compound</a> over time instead of dwindle in relevance.</p>
<blockquote>
<p>High-ability workers are faster learners, in all jobs. However, <strong>the relative return to ability is higher in careers that change less, because learning gains accumulate.</strong></p>
</blockquote>
<p>Said another way, <strong>the opportunity cost of working in a rapidly-changing field is highest for the best learners</strong>. This creates immense pressure to drop out of software engineering and other fast-changing careers into more stable roles and industries.</p>
<p>The researchers show this by regressing STEM job status on a number of other variables, including an interaction between age and score on the <a href="https://www.military.com/join-armed-forces/asvab">Armed Forces Qualifying Test</a> (AFQT), a common measure of cognitive ability. The coefficient comes out negative and statistically significant, implying that the relative probability of working in STEM at any given age <em>declines</em> with cognitive ability (column 1 and 2 below):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515801065-LFrqrUH7Kl.png" alt=""></p>
<blockquote>
<p>The results imply that a worker with cognitive ability one standard deviation above average is 4.9 percentage points more likely to work in STEM at age 23, but <strong>only 1.6 percentage points more likely to be working in a STEM job by age 34</strong>.</p>
</blockquote>
<p>In fact, by age 40, the regression predicts <strong>workers with higher cognitive ability are <em>less</em> likely to work in STEM than those with lower cognitive ability</strong>.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515808227-Relative-STEM-Probability-for-1-SD-Higher-Cognitive-Ability.png" alt=""></p>
<p>Simply put, <strong>professionals with higher cognitive ability drop out of STEM careers earlier and faster</strong>:</p>
<blockquote>
<p>... STEM majors with higher scores on the Armed Forces Qualifying Test (AFQT)—a widely used proxy for academic aptitude—<strong>leave STEM careers more often and at younger ages</strong>.</p>
</blockquote>
<h2>Implication: Growing the software engineering talent pool is harder than you think</h2>
<p>Two points I want to drive home:</p>
<p><strong>First</strong> — software development has a <em>turnover</em> problem.</p>
<p>Growing the supply of software developers is not trivial because the field already sees high levels of developer dropout and turnover, and this would only increase if the field were to grow larger. A larger software development labor pool would presumably drive down wages, encouraging even more developers to shift out of the profession, especially those past their career midpoints. On that flat part of the earnings curve, the incentive to remain a developer is weak at best.</p>
<p><strong>Second</strong> — software development also has a <em>selection</em> problem.</p>
<p>The highest ability, fastest learners disproportionately leave the field over time. They have a multitude of other ways to profitably leverage their intellect and skills. <strong>Software development carries serious opportunity cost.</strong> Again, this is ironic because one would normally expect the best to stay and worst to leave, but that's not what we see in the data. The software development talent pool mix shifts toward <em>lower cognitive ability</em> as any given cohort matures.</p>
<p>Combined, these points suggest software development may be destined for perennial labor shortages unless the pace of change slows sufficiently.</p>
<blockquote>
<p>... <strong>rapid technological change can lead to a short shelf life for technical skills</strong>. This tradeoff between technology-specific and general skills is an important consideration for policymakers and colleges seeking to educate the workers of today, while also building the skills of the next generation.</p>
</blockquote>
<p>To conclude, I emphasize: <strong>highly skilled people prefer highly stable careers in the long-run</strong>. This lets their relative ability and human capital advantage compound over time. Rapid deterioration of skills continuously levels the playing field, preventing the best from separating themselves from the pack. In such a situation, <strong>it makes more sense to quit the race early than get caught in the pile up</strong>.</p>
<p><em>Thanks to <a href="https://scholar.harvard.edu/ddeming/home">David Deming</a>, <a href="https://scholar.harvard.edu/kadeem/home">Kadeem Noray</a>, the authors of <a href="https://academic.oup.com/qje/article/135/4/1965/5858010">the study</a> from which much of this essay is derived.</em></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Enterprise Software Monetization is Fat-Tailed]]>
                        </title>
                        <description>
                            <![CDATA[In enterprise software, averages are meaningless. Instead, focus on the tails.]]>
                        </description>
                        <link>https://whoisnnamdi.com/software-fat-tailed/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/software-fat-tailed/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 06 Oct 2020 15:59:16 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512221769-header-resized.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>In enterprise software, <strong>the "average" customer is a meaningless concept.</strong></p>
<p>Paying too much attention to the "average" customer leads many founders and investors astray.</p>
<p>Instead, <strong>focus on the tails.</strong></p>
<p>Here's why.</p>
<h2>The basics</h2>
<p>Define "monetization" as the average revenue a software vendor extracts from its customers:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="45.979ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 20322.6 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-1-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-1-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-1-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-1-TEX-N-7A" d="M42 263Q44 270 48 345T53 423V431H393Q399 425 399 415Q399 403 398 402L381 378Q364 355 331 309T265 220L134 41L182 40H206Q254 40 283 46T331 77Q352 105 359 185L361 201Q361 202 381 202H401V196Q401 195 393 103T384 6V0H209L34 1L31 3Q28 8 28 17Q28 30 29 31T160 210T294 394H236Q169 393 152 388Q127 382 113 367Q89 344 82 264V255H42V263Z"></path><path id="MJX-1-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-20" d=""></path><path id="MJX-1-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-1-TEX-N-76" d="M338 431Q344 429 422 429Q479 429 503 431H508V385H497Q439 381 423 345Q421 341 356 172T288 -2Q283 -11 263 -11Q244 -11 239 -2Q99 359 98 364Q93 378 82 381T43 385H19V431H25L33 430Q41 430 53 430T79 430T104 429T122 428Q217 428 232 431H240V385H226Q187 384 184 370Q184 366 235 234L286 102L377 341V349Q377 363 367 372T349 383T335 385H331V431H338Z"></path><path id="MJX-1-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-1-TEX-N-2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path><path id="MJX-1-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-1-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="6D" xlink:href="#MJX-1-TEX-N-6D"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(833,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(1333,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(1889,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(2333,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(2722,0)"></use><use data-c="7A" xlink:href="#MJX-1-TEX-N-7A" transform="translate(3000,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(3444,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(3944,0)"></use><use data-c="69" xlink:href="#MJX-1-TEX-N-69" transform="translate(4333,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(4611,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(5111,0)"></use></g><g data-mml-node="mo" transform="translate(5944.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mtext" transform="translate(7000.6,0)"><use data-c="74" xlink:href="#MJX-1-TEX-N-74"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(389,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(889,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(1278,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(1778,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(2056,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(2306,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(2698,0)"></use><use data-c="76" xlink:href="#MJX-1-TEX-N-76" transform="translate(3142,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(3670,0)"></use><use data-c="6E" xlink:href="#MJX-1-TEX-N-6E" transform="translate(4114,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(4670,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(5226,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(5670,0)"></use><use data-c="2F" xlink:href="#MJX-1-TEX-N-2F" transform="translate(5920,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(6420,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(6670,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(7059,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(7559,0)"></use><use data-c="61" xlink:href="#MJX-1-TEX-N-61" transform="translate(7948,0)"></use><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C" transform="translate(8448,0)"></use><use data-c="20" xlink:href="#MJX-1-TEX-N-20" transform="translate(8726,0)"></use><use data-c="63" xlink:href="#MJX-1-TEX-N-63" transform="translate(8976,0)"></use><use data-c="75" xlink:href="#MJX-1-TEX-N-75" transform="translate(9420,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(9976,0)"></use><use data-c="74" xlink:href="#MJX-1-TEX-N-74" transform="translate(10370,0)"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(10759,0)"></use><use data-c="6D" xlink:href="#MJX-1-TEX-N-6D" transform="translate(11259,0)"></use><use data-c="65" xlink:href="#MJX-1-TEX-N-65" transform="translate(12092,0)"></use><use data-c="72" xlink:href="#MJX-1-TEX-N-72" transform="translate(12536,0)"></use><use data-c="73" xlink:href="#MJX-1-TEX-N-73" transform="translate(12928,0)"></use></g></g></g></svg></mjx-container>
<p>Wild variation in monetization across customers means most enterprise software customers contribute little to overall revenue.</p>
<p>For example, a late-stage software company with 50M+ in ARR and ~2,000 customers might have a small number of customers with enormous contracts, possibly greater than 500K or even 1M in ARR each, and a large number with tiny contracts in the ~10K range.</p>
<p>The extreme, non-negative variation around the average produces a right or positively skewed monetization distribution:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515792704-image-20200824082909012.png" alt="image-20200824082909012"></p>
<p>Sufficiently skewed distributions are "<a href="https://en.wikipedia.org/wiki/Fat-tailed_distribution">fat-tailed</a>." Large customer contracts will determine the properties of the distribution, like its mean or variance. Similarly, large customers will account for an enormous proportion of overall revenue. In other words, software monetization is a <a href="http://reactionwheel.net/2015/06/power-laws-in-venture.html">power law</a>.</p>
<p>In a <a href="https://whoisnnamdi.com/vcs-index-invest/">previous essay</a>, I introduced the notion of <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-2-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>, or alpha, the shape or tail parameter, which characterizes the "fat-tailedness" of a power law distribution. The smaller <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-3-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>, the more skewed the distribution, the fatter the tails, with <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.09ex;" xmlns="http://www.w3.org/2000/svg" width="5.596ex" height="1.597ex" role="img" focusable="false" viewBox="0 -666 2473.6 706" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path id="MJX-4-TEX-N-3C" d="M694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19Z"></path><path id="MJX-4-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-4-TEX-I-1D6FC"></use></g><g data-mml-node="mo" transform="translate(917.8,0)"><use data-c="3C" xlink:href="#MJX-4-TEX-N-3C"></use></g><g data-mml-node="mn" transform="translate(1973.6,0)"><use data-c="32" xlink:href="#MJX-4-TEX-N-32"></use></g></g></g></svg></mjx-container> indicating extreme skew and fat-tailedness. For software monetization, the fatter the tail, the more common and impactful are those "whale" customers.</p>
<p>Evidence for skewed monetization is tough to come by without access to a company's commercial contracts. However, we can infer the fat-tailedness from the SEC filings of public software companies with a simple trick.</p>
<h2>The math</h2>
<p>The trick? A <a href="https://www.youtube.com/watch?v=XhTHG3QmVwM">formula</a> exists that calculates the concentration in the top percentiles of a power law distribution based on the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-5-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> of the distribution:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.439ex;" xmlns="http://www.w3.org/2000/svg" width="8.108ex" height="2.763ex" role="img" focusable="false" viewBox="0 -1027.4 3583.7 1221.4" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-6-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-6-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-6-TEX-I-1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path><path id="MJX-6-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path id="MJX-6-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-6-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="73" xlink:href="#MJX-6-TEX-N-73"></use></g><g data-mml-node="mo" transform="translate(671.8,0)"><use data-c="3D" xlink:href="#MJX-6-TEX-N-3D"></use></g><g data-mml-node="msup" transform="translate(1727.6,0)"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-6-TEX-I-1D45D"></use></g><g data-mml-node="TeXAtom" transform="translate(536,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mfrac"><g data-mml-node="mrow" transform="translate(220,398) scale(0.707)"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-6-TEX-I-1D6FC"></use></g><g data-mml-node="mo" transform="translate(640,0)"><use data-c="2212" xlink:href="#MJX-6-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(1418,0)"><use data-c="31" xlink:href="#MJX-6-TEX-N-31"></use></g></g><g data-mml-node="mi" transform="translate(671.8,-345) scale(0.707)"><use data-c="1D6FC" xlink:href="#MJX-6-TEX-I-1D6FC"></use></g><rect width="1556.2" height="60" x="120" y="220"></rect></g></g></g></g></g></svg></mjx-container>
<p>where <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.023ex;" xmlns="http://www.w3.org/2000/svg" width="1.061ex" height="1.023ex" role="img" focusable="false" viewBox="0 -442 469 452" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-7-TEX-I-1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D460" xlink:href="#MJX-7-TEX-I-1D460"></use></g></g></g></svg></mjx-container> is the share of the total and <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.439ex;" xmlns="http://www.w3.org/2000/svg" width="1.138ex" height="1.439ex" role="img" focusable="false" viewBox="0 -442 503 636" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-8-TEX-I-1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-8-TEX-I-1D45D"></use></g></g></g></svg></mjx-container> is the percentile.</p>
<p>Plug in the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-9-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-9-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> and the percentile <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.439ex;" xmlns="http://www.w3.org/2000/svg" width="1.138ex" height="1.439ex" role="img" focusable="false" viewBox="0 -442 503 636" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-10-TEX-I-1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-10-TEX-I-1D45D"></use></g></g></g></svg></mjx-container> you are interested in to get the share of the total that the top-p% of customers represent.</p>
<p>Invert the formula to yield the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-11-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-11-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> of a power law distribution given a certain percentile and share:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.018ex;" xmlns="http://www.w3.org/2000/svg" width="16.793ex" height="5.118ex" role="img" focusable="false" viewBox="0 -1370 7422.3 2262" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-12-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path id="MJX-12-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-12-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-12-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-12-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-12-TEX-N-2061" d=""></path><path id="MJX-12-TEX-I-1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path><path id="MJX-12-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-12-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-12-TEX-I-1D6FC"></use></g><g data-mml-node="mo" transform="translate(917.8,0)"><use data-c="3D" xlink:href="#MJX-12-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(1973.6,0)"><g data-mml-node="mrow" transform="translate(1750.6,676)"><g data-mml-node="mi"><use data-c="6C" xlink:href="#MJX-12-TEX-N-6C"></use><use data-c="6F" xlink:href="#MJX-12-TEX-N-6F" transform="translate(278,0)"></use><use data-c="67" xlink:href="#MJX-12-TEX-N-67" transform="translate(778,0)"></use></g><g data-mml-node="mo" transform="translate(1278,0)"><use data-c="2061" xlink:href="#MJX-12-TEX-N-2061"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(1444.7,0)"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-12-TEX-I-1D45D"></use></g></g></g><g data-mml-node="mrow" transform="translate(220,-686)"><g data-mml-node="mi"><use data-c="6C" xlink:href="#MJX-12-TEX-N-6C"></use><use data-c="6F" xlink:href="#MJX-12-TEX-N-6F" transform="translate(278,0)"></use><use data-c="67" xlink:href="#MJX-12-TEX-N-67" transform="translate(778,0)"></use></g><g data-mml-node="mo" transform="translate(1278,0)"><use data-c="2061" xlink:href="#MJX-12-TEX-N-2061"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(1444.7,0)"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-12-TEX-I-1D45D"></use></g></g><g data-mml-node="mo" transform="translate(2169.9,0)"><use data-c="2212" xlink:href="#MJX-12-TEX-N-2212"></use></g><g data-mml-node="mi" transform="translate(3170.1,0)"><use data-c="6C" xlink:href="#MJX-12-TEX-N-6C"></use><use data-c="6F" xlink:href="#MJX-12-TEX-N-6F" transform="translate(278,0)"></use><use data-c="67" xlink:href="#MJX-12-TEX-N-67" transform="translate(778,0)"></use></g><g data-mml-node="mo" transform="translate(4448.1,0)"><use data-c="2061" xlink:href="#MJX-12-TEX-N-2061"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(4614.8,0)"><g data-mml-node="mtext"><use data-c="73" xlink:href="#MJX-12-TEX-N-73"></use></g></g></g><rect width="5208.8" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>This means we can infer <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-13-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-13-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>​ and therefore how fat-tailed the revenue distribution is if we know the share of revenue represented by the largest customers of a given software vendor.</p>
<p>We can estimate the shape of the customer distribution by plugging <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-14-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-14-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> back into the first equation along with some other percentile X in order to estimate the share of revenue earned from the top-X% of customers, which we can repeat for other percentiles. For example, the relationship between <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-15-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-15-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> and the revenue concentrated in the top-20% of customer looks like this:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515807452-qNmFsndFgJ.png" alt="img">
<em>Source: David Salazar</em></p>
<p>An <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.186ex;" xmlns="http://www.w3.org/2000/svg" width="8.488ex" height="1.692ex" role="img" focusable="false" viewBox="0 -666 3751.6 748" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-16-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path id="MJX-16-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-16-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-16-TEX-N-2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-16-TEX-N-36" d="M42 313Q42 476 123 571T303 666Q372 666 402 630T432 550Q432 525 418 510T379 495Q356 495 341 509T326 548Q326 592 373 601Q351 623 311 626Q240 626 194 566Q147 500 147 364L148 360Q153 366 156 373Q197 433 263 433H267Q313 433 348 414Q372 400 396 374T435 317Q456 268 456 210V192Q456 169 451 149Q440 90 387 34T253 -22Q225 -22 199 -14T143 16T92 75T56 172T42 313ZM257 397Q227 397 205 380T171 335T154 278T148 216Q148 133 160 97T198 39Q222 21 251 21Q302 21 329 59Q342 77 347 104T352 209Q352 289 347 316T329 361Q302 397 257 397Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-16-TEX-I-1D6FC"></use></g><g data-mml-node="mo" transform="translate(917.8,0)"><use data-c="3D" xlink:href="#MJX-16-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(1973.6,0)"><use data-c="31" xlink:href="#MJX-16-TEX-N-31"></use><use data-c="2E" xlink:href="#MJX-16-TEX-N-2E" transform="translate(500,0)"></use><use data-c="31" xlink:href="#MJX-16-TEX-N-31" transform="translate(778,0)"></use><use data-c="36" xlink:href="#MJX-16-TEX-N-36" transform="translate(1278,0)"></use></g></g></g></svg></mjx-container> yields the classic <a href="https://www.investopedia.com/terms/1/80-20-rule.asp">Pareto 80/20 distribution</a>, where 20% of customers account for 80% of revenue.</p>
<p>Before we proceed, know that this method only works if we assume upfront that the distribution is in fact power law distributed, at least in the tails. We never proved this, so don't interpolate/extrapolate too far with this method.</p>
<p>With that caveat acknowledged, let's throw caution to the wind!</p>
<h2>The evidence</h2>
<p>Public companies do their best to hide customer concentration. But at a certain point fiduciary duty requires that they disclose revenue concentration, especially if a few customers account for a large enough chunk of revenue.</p>
<p>Commonly, companies will state that "no customer represents more than X% of revenue." Less frequently, companies will go further, disclosing the number of customers that exceed some revenue threshold, typically 100,000, and the proportion of revenue they represent. This gets framed as a point of strength — "look how many large customers we have" — but it also indicates customer concentration since the X customers with greater than 100K contracts are by definition the X largest customers.</p>
<p>Here's an example from <a href="https://www.sec.gov/Archives/edgar/data/1764925/000162828019004786/slacks-1.htm">Slack's S-1</a>:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515794480-image-20200905234041096.png" alt="image-20200905234041096">
<em>Source: Slack's S-1</em></p>
<p>From this sort of disclosure we can calculate the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-17-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-17-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> and fat-tailedness of customer monetization for public software vendors via the procedure outlined above, plugging in the share of total revenue and total customers represented by these large customers. <a href="https://docs.google.com/spreadsheets/d/163g-Tn9AdjF4bb4v7j8VidqeqMJvAHvb7EHUR2ctYsk/edit?usp=sharing">I've done the hard work for you</a> for a subset of public software companies:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515796073-image-20200905234326829.png" alt="image-20200905234326829">
<em>Source</em></p>
<p><strong>The alphas are universally below 2</strong>, implying a high level of skew.</p>
<p>A more visual representation of the alphas (with the average in black):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515782656-alpha.png" alt="alpha"></p>
<p>The implied top-20% and top-1% revenue concentration are quite large for most companies (blue = top 20%, red = top 1%):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515809416-share.png" alt="share"></p>
<p>So, <strong>the top 20% typically represent ~70% of revenue</strong>, while <strong>the top 1% represent ~40%</strong>. Not quite Pareto 80/20, but pretty close! Interestingly, many companies tied to infrastructure in some way like Datadog, Fastly, and Twilio do have 80/20 monetization distributions, at least in some years.</p>
<p>As I caveated, these figures will be off to some degree. I'd guess they overestimate revenue concentration somewhat.</p>
<p>However, I'm comforted by corroboration from a <a href="https://www.thetaequity.com/slack-ipo">report by Theta Equity Partners</a> that uses a completely different methodology to estimate the monetization distribution of Slack's customer base. Based on the <a href="https://www.sec.gov/Archives/edgar/data/1764925/000162828019004786/slacks-1.htm">S-1 filing</a>, they found that <strong>Slack's top 1% of customers account for 40% of total revenue in 2019</strong>:</p>
<blockquote>
<p>As we mentioned previously, the data and the model imply a high level of variability in the “goodness” of Slack’s customers – <strong>a small (&#x3C;1%) segment of “heavy” customers accounts for 40% of company’s revenues</strong> and generates revenue per customer which is more than 100 times larger than everyone else.</p>
</blockquote>
<p>Using my methodology, I find that <strong>the top 1% of Slack's customers in 2019 represented 43% of revenue</strong>, which is quite similar.</p>
<h2>The implications</h2>
<p>It's easy to see these results and think "Yes, sure, customer concentration is a thing. So what?" But the implications of a fat-tailed monetization distribution are profound.</p>
<h3>Why don't software companies index invest?</h3>
<p>First, as I discussed previously in <a href="https://whoisnnamdi.com/vcs-index-invest/">Why Don't VCs Index Invest</a>, when facing a sufficiently fat-tailed distribution of returns, it doesn't make sense to be picky or overly concentrated in one's investments. Index investing is the optimal allocation strategy.</p>
<p>Here, returns are synonymous with revenue and investment is synonymous with customer acquisition costs, or CAC. If the distribution of revenue is fat-tailed, vendors should be trying to insert their software into as many customers as possible, as cheaply as possible. Don't try to land large upfront, as this requires investing in a heavy and expensive enterprise sales motion that may not yield results. Instead, spend small and land small, with each customer contract acting as a potential "lottery ticket" that may unlock a much larger contract later on, similar to an early-stage startup investment.</p>
<p>There's some merit to this analogy between venture capital and software go-to-market strategies. One only has to look at estimates of <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-18-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-18-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> for venture capital investments to see that we are dealing with similar phenomena here (ignore the orange footnotes):</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515818071-zxdn9Kwr6j.png" alt="img">
<em>Source: Reaction Wheel</em></p>
<h3>Whale hunting</h3>
<p>Second, as I allude to in the <a href="https://whoisnnamdi.com/vcs-index-invest/">aforementioned essay</a>, finite samples of a positively skewed, fat-tailed distribution tend to underestimate the average, or mean, of the distribution. Large values are rare, so small samples will tend to miss them. Unless you have an extremely large dataset, the "true" mean is typically larger than the mean you measure from the data. So the calculated sample mean tends to increase as the sample size grows, reflecting those large, infrequent outcomes.</p>
<p>Said more precisely:</p>
<blockquote>
<p>An additional difficulty in the numerical estimation of moments—and, therefore, of risk—is due to the very slow convergence of estimated values to the exact values of the process, even if the associated moments are finite. This “slow Law of Large Numbers” is caused by the large weight of rare events (black swans), which take a lot of data to show up, and prevent a proper estimation of the moments of such processes through the moments of a sample. — <a href="https://aip.scitation.org/doi/10.1063/1.5141837">Fat tails and black swans: Exact results for multiplicative processes with resets</a></p>
</blockquote>
<p>Further, the largest value you are likely to see in a sample of power law distribution (the expected value of the maximum value) is proportional to the sample size <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.357ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 600 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-19-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-19-TEX-I-1D45B"></use></g></g></g></svg></mjx-container> and inversely proportional to <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-20-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-20-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="17.89ex" height="2.7ex" role="img" focusable="false" viewBox="0 -943.3 7907.4 1193.3" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-21-TEX-D-1D53C" d="M12 666Q12 675 24 683H582Q590 680 593 672V588Q593 514 591 502T575 490Q567 490 563 495T555 517Q552 556 517 590Q486 623 445 634T340 648H282Q266 636 264 620T260 492V370H277Q329 375 358 391T404 439Q420 480 420 506Q420 529 436 529Q445 529 451 521Q455 517 455 361Q455 333 455 298T456 253Q456 217 453 207T437 197Q420 196 420 217Q420 240 406 270Q377 328 284 335H260V201Q261 174 261 134Q262 73 264 61T278 38Q281 36 282 35H331Q400 35 449 50Q571 93 602 179Q605 203 622 203Q629 203 634 197T640 183Q638 181 624 95T604 3L600 -1H24Q12 5 12 16Q12 35 51 35Q92 38 97 52Q102 60 102 341T97 632Q91 645 51 648Q12 648 12 666ZM137 341Q137 131 136 89T130 37Q129 36 129 35H235Q233 41 231 48L226 61V623L231 635L235 648H129Q132 641 133 638T135 603T137 517T137 341ZM557 603V648H504Q504 646 515 639Q527 634 542 619L557 603ZM420 317V397L406 383Q394 370 380 363L366 355Q373 350 382 346Q400 333 409 328L420 317ZM582 61L586 88Q585 88 582 83Q557 61 526 46L511 37L542 35H577Q577 36 578 39T580 49T582 61Z"></path><path id="MJX-21-TEX-N-5B" d="M118 -250V750H255V710H158V-210H255V-250H118Z"></path><path id="MJX-21-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path><path id="MJX-21-TEX-I-1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-21-TEX-I-1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path><path id="MJX-21-TEX-N-5D" d="M22 710V750H159V-250H22V-210H119V710H22Z"></path><path id="MJX-21-TEX-N-223C" d="M55 166Q55 241 101 304T222 367Q260 367 296 349T362 304T421 252T484 208T554 189Q616 189 655 236T694 338Q694 350 698 358T708 367Q722 367 722 334Q722 260 677 197T562 134H554Q517 134 481 152T414 196T355 248T292 293T223 311Q179 311 145 286Q109 257 96 218T80 156T69 133Q55 133 55 166Z"></path><path id="MJX-21-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-21-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-21-TEX-N-2F" d="M423 750Q432 750 438 744T444 730Q444 725 271 248T92 -240Q85 -250 75 -250Q68 -250 62 -245T56 -231Q56 -221 230 257T407 740Q411 750 423 750Z"></path><path id="MJX-21-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-21-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path id="MJX-21-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-21-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D53C" xlink:href="#MJX-21-TEX-D-1D53C"></use></g></g><g data-mml-node="mo" transform="translate(667,0)"><use data-c="5B" xlink:href="#MJX-21-TEX-N-5B"></use></g><g data-mml-node="msub" transform="translate(945,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-21-TEX-I-1D465"></use></g><g data-mml-node="TeXAtom" transform="translate(605,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45A" xlink:href="#MJX-21-TEX-I-1D45A"></use></g><g data-mml-node="mi" transform="translate(878,0)"><use data-c="1D44E" xlink:href="#MJX-21-TEX-I-1D44E"></use></g><g data-mml-node="mi" transform="translate(1407,0)"><use data-c="1D465" xlink:href="#MJX-21-TEX-I-1D465"></use></g></g></g><g data-mml-node="mo" transform="translate(2999.4,0)"><use data-c="5D" xlink:href="#MJX-21-TEX-N-5D"></use></g><g data-mml-node="mo" transform="translate(3555.1,0)"><use data-c="223C" xlink:href="#MJX-21-TEX-N-223C"></use></g><g data-mml-node="msup" transform="translate(4610.9,0)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-21-TEX-I-1D45B"></use></g><g data-mml-node="TeXAtom" transform="translate(633,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="31" xlink:href="#MJX-21-TEX-N-31"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(500,0)"><g data-mml-node="mo"><use data-c="2F" xlink:href="#MJX-21-TEX-N-2F"></use></g></g><g data-mml-node="mo" transform="translate(1000,0)"><use data-c="28" xlink:href="#MJX-21-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(1389,0)"><use data-c="1D6FC" xlink:href="#MJX-21-TEX-I-1D6FC"></use></g><g data-mml-node="mo" transform="translate(2029,0)"><use data-c="2212" xlink:href="#MJX-21-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(2807,0)"><use data-c="31" xlink:href="#MJX-21-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(3307,0)"><use data-c="29" xlink:href="#MJX-21-TEX-N-29"></use></g></g></g></g></g></svg></mjx-container>
<p>In plain English — your <a href="https://en.wikipedia.org/wiki/Personal_record">personal best</a> can only get better with more attempts. In the realm of venture, that looks like this:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515797149-image-20200907200713719.png" alt="image-20200907200713719">
<em>Source: Reaction Wheel</em></p>
<p>This is why returns in venture capital tend to increase with portfolio size:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515786685-H5qNMNZPFO.png" alt="H5qNMNZPFO">
<em>Source: AngelList</em></p>
<p>In the context of software monetization, the "true distribution" is the set of <strong>all</strong> potential customers while the "sample" is the set of <em>current</em> customers. Each customer is like a draw from a random variable representing all potential customers, just like a venture capital investment is like a random draw from a fat-tailed distribution of potential returns.</p>
<p><strong>My claim is that the average monetization across your customer base — ARR/customer, revenue/customer, etc. — is an underestimate of the "true" or "potential" monetization.</strong> As you land more customers, so the logic goes, the revenue you extract will tend to rise due to this fat-tailed phenomenon, with no change in pricing model or customer targeting.</p>
<p>More <em>is</em> more, or specifically, more customers is more monetization, for the same reason that <a href="https://www.institutionalinvestor.com/article/b1nlj1gb3g3bbd/The-Pervasive-Head-Scratching-Risk-Exploding-Problem-With-Venture-Capital">larger venture portfolios yield higher returns</a>. Your wins get bigger the more broadly you penetrate the market.</p>
<p>It's natural to ask — "<strong>how much does current monetization underestimate potential monetization?</strong>"</p>
<p><a href="https://arxiv.org/abs/2001.10488">Nassim Taleb</a> has already done the math for us. Imagine that true average monetization is the sum of the monetization of customers smaller than the largest customer we've acquired thus far, which he calls <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="2.011ex" height="1.545ex" role="img" focusable="false" viewBox="0 -683 889 683" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-22-TEX-I-1D43E" d="M285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D43E" xlink:href="#MJX-22-TEX-I-1D43E"></use></g></g></g></svg></mjx-container>, and the contribution of potential customers larger than our largest:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.61ex;" xmlns="http://www.w3.org/2000/svg" width="81.972ex" height="2.205ex" role="img" focusable="false" viewBox="0 -705 36231.5 974.6" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-23-TEX-N-74" d="M27 422Q80 426 109 478T141 600V615H181V431H316V385H181V241Q182 116 182 100T189 68Q203 29 238 29Q282 29 292 100Q293 108 293 146V181H333V146V134Q333 57 291 17Q264 -10 221 -10Q187 -10 162 2T124 33T105 68T98 100Q97 107 97 248V385H18V422H27Z"></path><path id="MJX-23-TEX-N-72" d="M36 46H50Q89 46 97 60V68Q97 77 97 91T98 122T98 161T98 203Q98 234 98 269T98 328L97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 60 434T96 436Q112 437 131 438T160 441T171 442H174V373Q213 441 271 441H277Q322 441 343 419T364 373Q364 352 351 337T313 322Q288 322 276 338T263 372Q263 381 265 388T270 400T273 405Q271 407 250 401Q234 393 226 386Q179 341 179 207V154Q179 141 179 127T179 101T180 81T180 66V61Q181 59 183 57T188 54T193 51T200 49T207 48T216 47T225 47T235 46T245 46H276V0H267Q249 3 140 3Q37 3 28 0H20V46H36Z"></path><path id="MJX-23-TEX-N-75" d="M383 58Q327 -10 256 -10H249Q124 -10 105 89Q104 96 103 226Q102 335 102 348T96 369Q86 385 36 385H25V408Q25 431 27 431L38 432Q48 433 67 434T105 436Q122 437 142 438T172 441T184 442H187V261Q188 77 190 64Q193 49 204 40Q224 26 264 26Q290 26 311 35T343 58T363 90T375 120T379 144Q379 145 379 161T380 201T380 248V315Q380 361 370 372T320 385H302V431Q304 431 378 436T457 442H464V264Q464 84 465 81Q468 61 479 55T524 46H542V0Q540 0 467 -5T390 -11H383V58Z"></path><path id="MJX-23-TEX-N-65" d="M28 218Q28 273 48 318T98 391T163 433T229 448Q282 448 320 430T378 380T406 316T415 245Q415 238 408 231H126V216Q126 68 226 36Q246 30 270 30Q312 30 342 62Q359 79 369 104L379 128Q382 131 395 131H398Q415 131 415 121Q415 117 412 108Q393 53 349 21T250 -11Q155 -11 92 58T28 218ZM333 275Q322 403 238 411H236Q228 411 220 410T195 402T166 381T143 340T127 274V267H333V275Z"></path><path id="MJX-23-TEX-N-20" d=""></path><path id="MJX-23-TEX-N-6D" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q351 442 364 440T387 434T406 426T421 417T432 406T441 395T448 384T452 374T455 366L457 361L460 365Q463 369 466 373T475 384T488 397T503 410T523 422T546 432T572 439T603 442Q729 442 740 329Q741 322 741 190V104Q741 66 743 59T754 49Q775 46 803 46H819V0H811L788 1Q764 2 737 2T699 3Q596 3 587 0H579V46H595Q656 46 656 62Q657 64 657 200Q656 335 655 343Q649 371 635 385T611 402T585 404Q540 404 506 370Q479 343 472 315T464 232V168V108Q464 78 465 68T468 55T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-23-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-23-TEX-N-6E" d="M41 46H55Q94 46 102 60V68Q102 77 102 91T102 122T103 161T103 203Q103 234 103 269T102 328V351Q99 370 88 376T43 385H25V408Q25 431 27 431L37 432Q47 433 65 434T102 436Q119 437 138 438T167 441T178 442H181V402Q181 364 182 364T187 369T199 384T218 402T247 421T285 437Q305 442 336 442Q450 438 463 329Q464 322 464 190V104Q464 66 466 59T477 49Q498 46 526 46H542V0H534L510 1Q487 2 460 2T422 3Q319 3 310 0H302V46H318Q379 46 379 62Q380 64 380 200Q379 335 378 343Q372 371 358 385T334 402T308 404Q263 404 229 370Q202 343 195 315T187 232V168V108Q187 78 188 68T191 55T200 49Q221 46 249 46H265V0H257L234 1Q210 2 183 2T145 3Q42 3 33 0H25V46H41Z"></path><path id="MJX-23-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-23-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-23-TEX-N-66" d="M273 0Q255 3 146 3Q43 3 34 0H26V46H42Q70 46 91 49Q99 52 103 60Q104 62 104 224V385H33V431H104V497L105 564L107 574Q126 639 171 668T266 704Q267 704 275 704T289 705Q330 702 351 679T372 627Q372 604 358 590T321 576T284 590T270 627Q270 647 288 667H284Q280 668 273 668Q245 668 223 647T189 592Q183 572 182 497V431H293V385H185V225Q185 63 186 61T189 57T194 54T199 51T206 49T213 48T222 47T231 47T241 46T251 46H282V0H273Z"></path><path id="MJX-23-TEX-N-78" d="M201 0Q189 3 102 3Q26 3 17 0H11V46H25Q48 47 67 52T96 61T121 78T139 96T160 122T180 150L226 210L168 288Q159 301 149 315T133 336T122 351T113 363T107 370T100 376T94 379T88 381T80 383Q74 383 44 385H16V431H23Q59 429 126 429Q219 429 229 431H237V385Q201 381 201 369Q201 367 211 353T239 315T268 274L272 270L297 304Q329 345 329 358Q329 364 327 369T322 376T317 380T310 384L307 385H302V431H309Q324 428 408 428Q487 428 493 431H499V385H492Q443 385 411 368Q394 360 377 341T312 257L296 236L358 151Q424 61 429 57T446 50Q464 46 499 46H516V0H510H502Q494 1 482 1T457 2T432 2T414 3Q403 3 377 3T327 1L304 0H295V46H298Q309 46 320 51T331 63Q331 65 291 120L250 175Q249 174 219 133T185 88Q181 83 181 74Q181 63 188 55T206 46Q208 46 208 23V0H201Z"></path><path id="MJX-23-TEX-N-69" d="M69 609Q69 637 87 653T131 669Q154 667 171 652T188 609Q188 579 171 564T129 549Q104 549 87 564T69 609ZM247 0Q232 3 143 3Q132 3 106 3T56 1L34 0H26V46H42Q70 46 91 49Q100 53 102 60T104 102V205V293Q104 345 102 359T88 378Q74 385 41 385H30V408Q30 431 32 431L42 432Q52 433 70 434T106 436Q123 437 142 438T171 441T182 442H185V62Q190 52 197 50T232 46H255V0H247Z"></path><path id="MJX-23-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-23-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-23-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-23-TEX-N-3C" d="M694 -11T694 -19T688 -33T678 -40Q671 -40 524 29T234 166L90 235Q83 240 83 250Q83 261 91 266Q664 540 678 540Q681 540 687 534T694 519T687 505Q686 504 417 376L151 250L417 124Q686 -4 687 -5Q694 -11 694 -19Z"></path><path id="MJX-23-TEX-I-1D43E" d="M285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Z"></path><path id="MJX-23-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-23-TEX-N-62" d="M307 -11Q234 -11 168 55L158 37Q156 34 153 28T147 17T143 10L138 1L118 0H98V298Q98 599 97 603Q94 622 83 628T38 637H20V660Q20 683 22 683L32 684Q42 685 61 686T98 688Q115 689 135 690T165 693T176 694H179V543Q179 391 180 391L183 394Q186 397 192 401T207 411T228 421T254 431T286 439T323 442Q401 442 461 379T522 216Q522 115 458 52T307 -11ZM182 98Q182 97 187 90T196 79T206 67T218 55T233 44T250 35T271 29T295 26Q330 26 363 46T412 113Q424 148 424 212Q424 287 412 323Q385 405 300 405Q270 405 239 390T188 347L182 339V98Z"></path><path id="MJX-23-TEX-N-70" d="M36 -148H50Q89 -148 97 -134V-126Q97 -119 97 -107T97 -77T98 -38T98 6T98 55T98 106Q98 140 98 177T98 243T98 296T97 335T97 351Q94 370 83 376T38 385H20V408Q20 431 22 431L32 432Q42 433 61 434T98 436Q115 437 135 438T165 441T176 442H179V416L180 390L188 397Q247 441 326 441Q407 441 464 377T522 216Q522 115 457 52T310 -11Q242 -11 190 33L182 40V-45V-101Q182 -128 184 -134T195 -145Q216 -148 244 -148H260V-194H252L228 -193Q205 -192 178 -192T140 -191Q37 -191 28 -194H20V-148H36ZM424 218Q424 292 390 347T305 402Q234 402 182 337V98Q222 26 294 26Q345 26 384 80T424 218Z"></path><path id="MJX-23-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-23-TEX-N-3E" d="M84 520Q84 528 88 533T96 539L99 540Q106 540 253 471T544 334L687 265Q694 260 694 250T687 235Q685 233 395 96L107 -40H101Q83 -38 83 -20Q83 -19 83 -17Q82 -10 98 -1Q117 9 248 71Q326 108 378 132L626 250L378 368Q90 504 86 509Q84 513 84 520Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="74" xlink:href="#MJX-23-TEX-N-74"></use><use data-c="72" xlink:href="#MJX-23-TEX-N-72" transform="translate(389,0)"></use><use data-c="75" xlink:href="#MJX-23-TEX-N-75" transform="translate(781,0)"></use><use data-c="65" xlink:href="#MJX-23-TEX-N-65" transform="translate(1337,0)"></use><use data-c="20" xlink:href="#MJX-23-TEX-N-20" transform="translate(1781,0)"></use><use data-c="6D" xlink:href="#MJX-23-TEX-N-6D" transform="translate(2031,0)"></use><use data-c="65" xlink:href="#MJX-23-TEX-N-65" transform="translate(2864,0)"></use><use data-c="61" xlink:href="#MJX-23-TEX-N-61" transform="translate(3308,0)"></use><use data-c="6E" xlink:href="#MJX-23-TEX-N-6E" transform="translate(3808,0)"></use></g><g data-mml-node="mo" transform="translate(4641.8,0)"><use data-c="3D" xlink:href="#MJX-23-TEX-N-3D"></use></g><g data-mml-node="msub" transform="translate(5697.6,0)"><g data-mml-node="mtext"><use data-c="6D" xlink:href="#MJX-23-TEX-N-6D"></use><use data-c="65" xlink:href="#MJX-23-TEX-N-65" transform="translate(833,0)"></use><use data-c="61" xlink:href="#MJX-23-TEX-N-61" transform="translate(1277,0)"></use><use data-c="6E" xlink:href="#MJX-23-TEX-N-6E" transform="translate(1777,0)"></use><use data-c="20" xlink:href="#MJX-23-TEX-N-20" transform="translate(2333,0)"></use><use data-c="6F" xlink:href="#MJX-23-TEX-N-6F" transform="translate(2583,0)"></use><use data-c="66" xlink:href="#MJX-23-TEX-N-66" transform="translate(3083,0)"></use><use data-c="20" xlink:href="#MJX-23-TEX-N-20" transform="translate(3389,0)"></use><use data-c="65" xlink:href="#MJX-23-TEX-N-65" transform="translate(3639,0)"></use><use data-c="78" xlink:href="#MJX-23-TEX-N-78" transform="translate(4083,0)"></use><use data-c="69" xlink:href="#MJX-23-TEX-N-69" transform="translate(4611,0)"></use><use data-c="73" xlink:href="#MJX-23-TEX-N-73" transform="translate(4889,0)"></use><use data-c="74" xlink:href="#MJX-23-TEX-N-74" transform="translate(5283,0)"></use><use data-c="69" xlink:href="#MJX-23-TEX-N-69" transform="translate(5672,0)"></use><use data-c="6E" xlink:href="#MJX-23-TEX-N-6E" transform="translate(5950,0)"></use><use data-c="67" xlink:href="#MJX-23-TEX-N-67" transform="translate(6506,0)"></use><use data-c="20" xlink:href="#MJX-23-TEX-N-20" transform="translate(7006,0)"></use><use data-c="63" xlink:href="#MJX-23-TEX-N-63" transform="translate(7256,0)"></use><use data-c="75" xlink:href="#MJX-23-TEX-N-75" transform="translate(7700,0)"></use><use data-c="73" xlink:href="#MJX-23-TEX-N-73" transform="translate(8256,0)"></use><use data-c="74" xlink:href="#MJX-23-TEX-N-74" transform="translate(8650,0)"></use><use data-c="6F" xlink:href="#MJX-23-TEX-N-6F" transform="translate(9039,0)"></use><use data-c="6D" xlink:href="#MJX-23-TEX-N-6D" transform="translate(9539,0)"></use><use data-c="65" xlink:href="#MJX-23-TEX-N-65" transform="translate(10372,0)"></use><use data-c="72" xlink:href="#MJX-23-TEX-N-72" transform="translate(10816,0)"></use><use data-c="73" xlink:href="#MJX-23-TEX-N-73" transform="translate(11208,0)"></use></g><g data-mml-node="TeXAtom" transform="translate(11635,-241.4) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mo"><use data-c="3C" xlink:href="#MJX-23-TEX-N-3C"></use></g><g data-mml-node="mi" transform="translate(778,0)"><use data-c="1D43E" xlink:href="#MJX-23-TEX-I-1D43E"></use></g></g></g><g data-mml-node="mo" transform="translate(18783.5,0)"><use data-c="2B" xlink:href="#MJX-23-TEX-N-2B"></use></g><g data-mml-node="msub" transform="translate(19783.7,0)"><g data-mml-node="mtext"><use data-c="63" xlink:href="#MJX-23-TEX-N-63"></use><use data-c="6F" xlink:href="#MJX-23-TEX-N-6F" transform="translate(444,0)"></use><use data-c="6E" xlink:href="#MJX-23-TEX-N-6E" transform="translate(944,0)"></use><use data-c="74" xlink:href="#MJX-23-TEX-N-74" transform="translate(1500,0)"></use><use data-c="72" xlink:href="#MJX-23-TEX-N-72" transform="translate(1889,0)"></use><use data-c="69" xlink:href="#MJX-23-TEX-N-69" transform="translate(2281,0)"></use><use data-c="62" xlink:href="#MJX-23-TEX-N-62" transform="translate(2559,0)"></use><use data-c="75" xlink:href="#MJX-23-TEX-N-75" transform="translate(3115,0)"></use><use data-c="74" xlink:href="#MJX-23-TEX-N-74" transform="translate(3671,0)"></use><use data-c="69" xlink:href="#MJX-23-TEX-N-69" transform="translate(4060,0)"></use><use data-c="6F" xlink:href="#MJX-23-TEX-N-6F" transform="translate(4338,0)"></use><use data-c="6E" xlink:href="#MJX-23-TEX-N-6E" transform="translate(4838,0)"></use><use data-c="20" xlink:href="#MJX-23-TEX-N-20" transform="translate(5394,0)"></use><use data-c="6F" xlink:href="#MJX-23-TEX-N-6F" transform="translate(5644,0)"></use><use data-c="66" xlink:href="#MJX-23-TEX-N-66" transform="translate(6144,0)"></use><use data-c="20" xlink:href="#MJX-23-TEX-N-20" transform="translate(6450,0)"></use><use data-c="70" xlink:href="#MJX-23-TEX-N-70" transform="translate(6700,0)"></use><use data-c="6F" xlink:href="#MJX-23-TEX-N-6F" transform="translate(7256,0)"></use><use data-c="74" xlink:href="#MJX-23-TEX-N-74" transform="translate(7756,0)"></use><use data-c="65" xlink:href="#MJX-23-TEX-N-65" transform="translate(8145,0)"></use><use data-c="6E" xlink:href="#MJX-23-TEX-N-6E" transform="translate(8589,0)"></use><use data-c="74" xlink:href="#MJX-23-TEX-N-74" transform="translate(9145,0)"></use><use data-c="69" xlink:href="#MJX-23-TEX-N-69" transform="translate(9534,0)"></use><use data-c="61" xlink:href="#MJX-23-TEX-N-61" transform="translate(9812,0)"></use><use data-c="6C" xlink:href="#MJX-23-TEX-N-6C" transform="translate(10312,0)"></use><use data-c="20" xlink:href="#MJX-23-TEX-N-20" transform="translate(10590,0)"></use><use data-c="63" xlink:href="#MJX-23-TEX-N-63" transform="translate(10840,0)"></use><use data-c="75" xlink:href="#MJX-23-TEX-N-75" transform="translate(11284,0)"></use><use data-c="73" xlink:href="#MJX-23-TEX-N-73" transform="translate(11840,0)"></use><use data-c="74" xlink:href="#MJX-23-TEX-N-74" transform="translate(12234,0)"></use><use data-c="6F" xlink:href="#MJX-23-TEX-N-6F" transform="translate(12623,0)"></use><use data-c="6D" xlink:href="#MJX-23-TEX-N-6D" transform="translate(13123,0)"></use><use data-c="65" xlink:href="#MJX-23-TEX-N-65" transform="translate(13956,0)"></use><use data-c="72" xlink:href="#MJX-23-TEX-N-72" transform="translate(14400,0)"></use><use data-c="73" xlink:href="#MJX-23-TEX-N-73" transform="translate(14792,0)"></use></g><g data-mml-node="TeXAtom" transform="translate(15219,-229.4) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mo"><use data-c="3E" xlink:href="#MJX-23-TEX-N-3E"></use></g><g data-mml-node="mi" transform="translate(778,0)"><use data-c="1D43E" xlink:href="#MJX-23-TEX-I-1D43E"></use></g></g></g></g></g></svg></mjx-container>
<p>In the chart below, the shaded region represents larger customers yet to be acquired:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515798673-image-20200909125015490.png" alt="image-20200909125015490">
<em>Source: Statistical Consequences of Fat Tails</em></p>
<p>What proportion of the total does this extra bit represent? That depends both on <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-24-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-24-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>, or how fat-tailed the distribution is, and on the sample size. The smaller <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-25-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-25-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> and the smaller our sample, the more we underestimate the true mean:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515797904-image-20200909124000940.png" alt="image-20200909124000940">
<em>Source: Statistical Consequences of Fat Tails</em></p>
<p>So for an enterprise software company with <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.186ex;" xmlns="http://www.w3.org/2000/svg" width="7.356ex" height="1.692ex" role="img" focusable="false" viewBox="0 -666 3251.6 748" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-26-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path id="MJX-26-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-26-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-26-TEX-N-2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-26-TEX-N-33" d="M127 463Q100 463 85 480T69 524Q69 579 117 622T233 665Q268 665 277 664Q351 652 390 611T430 522Q430 470 396 421T302 350L299 348Q299 347 308 345T337 336T375 315Q457 262 457 175Q457 96 395 37T238 -22Q158 -22 100 21T42 130Q42 158 60 175T105 193Q133 193 151 175T169 130Q169 119 166 110T159 94T148 82T136 74T126 70T118 67L114 66Q165 21 238 21Q293 21 321 74Q338 107 338 175V195Q338 290 274 322Q259 328 213 329L171 330L168 332Q166 335 166 348Q166 366 174 366Q202 366 232 371Q266 376 294 413T322 525V533Q322 590 287 612Q265 626 240 626Q208 626 181 615T143 592T132 580H135Q138 579 143 578T153 573T165 566T175 555T183 540T186 520Q186 498 172 481T127 463Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-26-TEX-I-1D6FC"></use></g><g data-mml-node="mo" transform="translate(917.8,0)"><use data-c="3D" xlink:href="#MJX-26-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(1973.6,0)"><use data-c="31" xlink:href="#MJX-26-TEX-N-31"></use><use data-c="2E" xlink:href="#MJX-26-TEX-N-2E" transform="translate(500,0)"></use><use data-c="33" xlink:href="#MJX-26-TEX-N-33" transform="translate(778,0)"></use></g></g></g></svg></mjx-container>, which is typical in my data set, and 1000 customers, these not yet acquired customers will account for 20% of the true mean. This means the <strong>true monetization is about 1 / 0.8 = 25% higher than current monetization</strong>.</p>
<p><em>That number is conservative</em> — it assumes that we've already acquired every customer up to a certain size, thereby maximizing monetization of customers equal to or below that size. We haven't really done this though, so even current monetization underestimates how well we could monetize, even without acquiring larger customers. Factor that in, and the degree to which we underestimate true monetization only increases.</p>
<h3>The math behind land and expand</h3>
<p>Combined, the above insights form a mathematical justification for "<a href="https://saasx.com/2018/09/13/how-to-execute-a-saas-land-and-expand-strategy/">land and expand</a>"-style go-to-market strategies.</p>
<p>Here, land and expand is effectively an <a href="https://whoisnnamdi.com/vcs-index-invest/">indexing strategy</a> — land at as many organizations with as little investment as possible. Every once in a while you'll land a Google, a Facebook, or an Amazon (both figuratively and literally) which will drive a disproportionate share of revenue.</p>
<p>Even if those customers start off small, any given customer could potentially become quite large.</p>
<p>Further, it can make sense to overspend somewhat on establishing those small beachheads, as they likely underestimate the true average contract value. For this reason, common metrics for evaluating the efficiency of software sales like the "<a href="https://whoisnnamdi.com/magical-magic-number/">magic number</a>" may underestimate the efficiency of land and expand models, especially during the land phase.</p>
<blockquote>
<p>If we suspect right-skewness, the true mean is more likely to be underestimated by measurement of past realizations, and the total potential is likewise poorly gauged. — <a href="http://www.edge.org/conversation/nassim_nicholas_taleb-the-fourth-quadrant-a-map-of-the-limits-of-statistics">The Fourth Quadrant: A Map of the Limits of Statistics</a></p>
</blockquote>
<p>In fact, one of the best software investments I ever made (that shall remain nameless) was in a company that on its face seemed quite inefficient, with a magic number well below 1. The leadership team preached the virtues of its land and expand model, but our static analysis of its sales metrics was doomed to underestimate its true efficiency, even after many hours spent (by yours truly) wrangling and analyzing the data.</p>
<p>Luckily, we got over our concerns and made what turned out to be a great investment.</p>
<p>With more mathematical context, the story is a visceral personal reminder to properly grapple with the implications and dynamics of fat-tailed software monetization.</p>
<h2>The end</h2>
<p>This is just a small taste of fat tails, and I plan to write more in the coming months on their broader implications for high-growth startups. Much ink has been spilled on this topic within the context of venture investing, but not so much for operating the underlying businesses themselves.</p>
<p>Here's a preview of the topics:</p>
<ul>
<li>Why software markets are always larger than we think</li>
<li><a href="https://whoisnnamdi.com/weighted-acv/">Why "Weighted ACV" beats the traditional ACV metric</a></li>
<li>Why investors consistently undervalue enterprise software and overvalue consumer startups</li>
<li>Why open source is built by individuals rather than communities</li>
<li><a href="https://whoisnnamdi.com/product-market-fit-is-lindy/">Why product-market fit gets harder to achieve the longer you search for it</a></li>
</ul>
<p>I've been thinking about some of these essays for the better part of a year, so I'm excited to <em>finally</em> share these ideas.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[An Image is Worth 16x16 Words: Transformers for Image Recognition (Paper Explained)]]>
                        </title>
                        <description>
                            <![CDATA[Large Transformer trained on large datasets outperform CNN-based architectures and achieve state of the art results on image recognition tasks]]>
                        </description>
                        <link>https://whoisnnamdi.com/transformers-image-recognition/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/transformers-image-recognition/</guid>
                        <category>
                                        <![CDATA[ Research ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Machine Learning ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Notes ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Sun, 04 Oct 2020 23:17:13 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512218911-M_MKtM3ruT.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <ul>
<li><strong>Title:</strong> <a href="https://openreview.net/forum?id=YicbFdNTTy">An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale</a></li>
<li><strong>Authors:</strong> Anonymous (Paper currently in blind review for <a href="https://iclr.cc/">ICLR 2021</a>)</li>
<li><strong>One sentence summary:</strong> Large Transformer trained on large datasets outperform CNN-based architectures and achieve state of the art results on image recognition tasks</li>
<li><strong>Source:</strong> <a href="https://openreview.net/forum?id=YicbFdNTTy">https://openreview.net/forum?id=YicbFdNTTy</a></li>
<li><strong>Compression:</strong> 8 pages (original ex. references and appendix) -> 3.75 pages (this article)</li>
</ul>
<h2><strong>Summary</strong></h2>
<p>"<a href="https://openreview.net/forum?id=YicbFdNTT">An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale</a>" introduces the Visual Transformer, an architecture which leverages mostly standard Transformer components from the original NLP-focused "<a href="https://arxiv.org/abs/1706.03762">Attention is All You Need</a>" paper but instead applies them to computer vision, specifically image recognition. Images are transformed into sequences of image patches representing "tokens," similar to word tokens in NLP. The model is trained in supervised fashion on image classification using these patch sequences as input.</p>
<p>The image-based Transformer does not outperform CNNs when trained on mid-sized datasets such as <a href="http://www.image-net.org/">ImageNet</a>, underperforming similar-sized ResNet models. This is likely due to an inability overcome the inherent advantage of CNNs (inductive biases like translational equivariance and locality). However, when the Transformer model is pre-trained on large image datasets (specifically, <a href="https://arxiv.org/abs/1707.02968">JFT</a>) and transferred to other tasks, the model achieves SOTA results.</p>
<p>The strong results suggest the long hoped-for convergence of architectures across NLP and computer vision may finally be here in the form of Transformers. Per <a href="https://twitter.com/karpathy">Andrej Karpathy</a>, Director of AI at Tesla:</p>
<blockquote>
<p>An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale <a href="https://t.co/r5a0RuWyZE">https://t.co/r5a0RuWyZE</a> v cool. Further steps towards deprecating ConvNets with Transformers. Loving the increasing convergence of Vision/NLP and the much more efficient/flexible class of architectures. <a href="https://t.co/muj3cR6uGA">pic.twitter.com/muj3cR6uGA</a></p>
<p>— Andrej Karpathy (@karpathy) <a href="https://twitter.com/karpathy/status/1312279279741276161?ref_src=twsrc%5Etfw">October 3, 2020</a></p>
</blockquote>
<h2><strong>Key results and takeaways</strong></h2>
<ul>
<li><strong>Large Vision Transformer model mapping patches of image to classification labels outperforms CNN-based architectures and achieves state of the art results</strong> when trained on large (100M+ images) datasets</li>
<li>Transformer model <strong>underperforms CNNs when only trained on mid-sized datasets</strong></li>
<li><strong>Early layers of the Vision Transformer are able to attend to large chunks of the image</strong>, unlike traditional convolutional layers with are constrained to a local window</li>
<li>Self-supervised pre-training with "<em>masked patch prediction</em>" achieves decent results but <strong>underperforms supervised pre-training</strong></li>
</ul>
<h2><strong>Methodology</strong></h2>
<h3><strong>Architecture</strong></h3>
<p>The model effectively analogizes between words as tokens of larger sentences and groups of pixels as "tokens" of larger images. Like a sequence of word tokens makes a sentence, a sequence of pixel patches makes an image. Thus, the input image is broken up into multiple patches of <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.05ex;" xmlns="http://www.w3.org/2000/svg" width="6.166ex" height="1.937ex" role="img" focusable="false" viewBox="0 -833.9 2725.4 855.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-I-1D443" d="M287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554Z"></path><path id="MJX-1-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path><path id="MJX-1-TEX-N-22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path><path id="MJX-1-TEX-I-1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msup"><g data-mml-node="mi"><use data-c="1D443" xlink:href="#MJX-1-TEX-I-1D443"></use></g><g data-mml-node="mn" transform="translate(839.5,363) scale(0.707)"><use data-c="32" xlink:href="#MJX-1-TEX-N-32"></use></g></g><g data-mml-node="mo" transform="translate(1465.2,0)"><use data-c="22C5" xlink:href="#MJX-1-TEX-N-22C5"></use></g><g data-mml-node="mi" transform="translate(1965.4,0)"><use data-c="1D436" xlink:href="#MJX-1-TEX-I-1D436"></use></g></g></g></svg></mjx-container> dimensions representing square subsections of the original image (including all color channels <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.05ex;" xmlns="http://www.w3.org/2000/svg" width="1.719ex" height="1.645ex" role="img" focusable="false" viewBox="0 -705 760 727" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D436" xlink:href="#MJX-2-TEX-I-1D436"></use></g></g></g></svg></mjx-container>), forming a sequence of image patches of length <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="2.009ex" height="1.545ex" role="img" focusable="false" viewBox="0 -683 888 683" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D441" xlink:href="#MJX-3-TEX-I-1D441"></use></g></g></g></svg></mjx-container>.</p>
<p>Image patches <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.869ex;" xmlns="http://www.w3.org/2000/svg" width="2.521ex" height="2.398ex" role="img" focusable="false" viewBox="0 -675.5 1114.3 1059.7" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-B-1D431" d="M227 0Q212 3 121 3Q40 3 28 0H21V62H117L245 213L109 382H26V444H34Q49 441 143 441Q247 441 265 444H274V382H246L281 339Q315 297 316 297Q320 297 354 341L389 382H352V444H360Q375 441 466 441Q547 441 559 444H566V382H471L355 246L504 63L545 62H586V0H578Q563 3 469 3Q365 3 347 0H338V62H366Q366 63 326 112T285 163L198 63L217 62H235V0H227Z"></path><path id="MJX-4-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-4-TEX-I-1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msubsup"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D431" xlink:href="#MJX-4-TEX-B-1D431"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,363) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-4-TEX-I-1D45B"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,-247) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-4-TEX-I-1D45D"></use></g></g></g></g></g></svg></mjx-container>, typically 16x16 pixels, are embedded into <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.873ex" height="1.545ex" role="img" focusable="false" viewBox="0 -683 828 683" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-I-1D437" d="M287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D437" xlink:href="#MJX-5-TEX-I-1D437"></use></g></g></g></svg></mjx-container> dimension vectors using an embedding matrix <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.71ex" height="1.538ex" role="img" focusable="false" viewBox="0 -680 756 680" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-6-TEX-B-1D404" d="M723 286Q721 284 700 145T677 3V0H39V62H147V618H39V680H660V676Q662 670 675 552T691 428V424H629V428Q629 429 627 448T618 494T601 541Q574 593 527 605T382 618H374H304V384H336Q338 384 347 384T361 384T376 386T392 390T407 397T421 407T432 423Q442 444 443 482V501H505V205H443V224Q442 258 435 278T411 307T380 318T336 322H304V62H375H394Q429 62 449 62T497 66T541 76T577 95T609 126T632 170T651 232Q661 287 661 289H723V286Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="1D404" xlink:href="#MJX-6-TEX-B-1D404"></use></g></g></g></svg></mjx-container>. The sequence of "patch embeddings" is prepended with a learnable <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.186ex;" xmlns="http://www.w3.org/2000/svg" width="8.314ex" height="1.756ex" role="img" focusable="false" viewBox="0 -694 3675 776" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-7-TEX-M-5B" d="M237 -82Q221 -78 214 -58V305Q214 669 216 673Q220 687 231 690T278 694H350H461Q462 693 467 690T474 685T478 679T482 670T483 656Q483 632 471 625T428 617Q422 617 406 617T379 618H298V-7H379H420Q459 -7 471 -13T483 -45Q483 -55 483 -59T477 -70T461 -82H237Z"></path><path id="MJX-7-TEX-M-1D68C" d="M291 -6Q196 -6 131 60T66 216Q66 296 119 361Q154 403 200 421T273 439Q275 440 293 440H313Q400 440 433 409Q454 388 454 359Q454 335 439 321T402 306Q380 306 365 321T350 357V362L340 363Q339 363 326 363T303 364Q280 364 266 362Q217 352 184 313T151 215Q151 153 199 112T313 70Q341 70 357 85T381 118T394 140Q402 146 424 146Q443 146 447 144Q466 137 466 117Q466 106 457 88T429 47T374 10T291 -6Z"></path><path id="MJX-7-TEX-M-1D695" d="M51 573Q51 602 73 610H76Q79 610 84 610T97 610T113 610T133 611T155 611T179 611H282Q301 598 304 586V76H452Q466 67 470 60T474 38Q474 10 452 1H73Q51 9 51 32V38Q51 54 54 60T73 76H220V535H146L73 536Q51 545 51 567V573Z"></path><path id="MJX-7-TEX-M-1D68A" d="M126 306Q105 306 90 321T74 359Q74 439 211 439Q268 439 276 438Q343 426 383 390T430 306Q431 301 431 190V81Q446 79 465 78T492 76T509 72T521 60T524 38Q524 11 506 3Q502 1 466 1Q426 1 406 5T379 14T355 36L345 30Q284 -6 205 -6Q135 -6 92 39T48 141Q48 182 79 212T158 256T252 278T342 285H347V290Q347 315 325 335T267 362Q258 363 224 363Q189 363 185 362H179L178 358Q178 353 178 352T176 345T174 337T170 330T165 322T158 316T150 311T139 308T126 306ZM132 140Q132 115 157 93T224 70Q269 70 302 87T344 133Q346 139 347 175V211H339Q256 209 194 190T132 140Z"></path><path id="MJX-7-TEX-M-1D69C" d="M72 317Q72 361 108 396T229 439Q231 439 245 439T268 440Q303 439 324 435T353 427T363 423L372 432Q380 440 397 440Q430 440 430 395Q430 390 430 380T429 366V335Q429 311 422 302T387 293Q364 293 355 300T346 316T343 336T325 353Q306 364 257 364Q209 364 178 351T147 317Q147 284 231 272Q327 256 357 247Q458 210 458 129V121Q458 74 413 34T271 -6Q246 -6 224 -3T189 5T165 14T150 22T144 26Q142 23 139 18T135 11T132 6T128 1T124 -2T119 -4T113 -5T104 -6Q84 -6 78 6T71 43Q71 48 71 60T72 79Q72 132 73 141T81 157Q90 166 115 166Q135 166 142 162T157 140Q168 108 191 90T260 70Q297 70 323 76T361 91T379 110T384 129Q384 157 346 171T247 195T165 212Q119 228 96 256T72 317Z"></path><path id="MJX-7-TEX-M-5D" d="M41 656Q41 681 53 688T99 695Q107 695 133 695T177 694H288Q307 681 310 669V-58Q303 -76 288 -82H64Q41 -73 41 -45Q41 -21 53 -14T96 -6Q102 -6 118 -6T145 -7H226V618H145H100Q67 618 54 625T41 656Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="5B" xlink:href="#MJX-7-TEX-M-5B"></use><use data-c="1D68C" xlink:href="#MJX-7-TEX-M-1D68C" transform="translate(525,0)"></use><use data-c="1D695" xlink:href="#MJX-7-TEX-M-1D695" transform="translate(1050,0)"></use><use data-c="1D68A" xlink:href="#MJX-7-TEX-M-1D68A" transform="translate(1575,0)"></use><use data-c="1D69C" xlink:href="#MJX-7-TEX-M-1D69C" transform="translate(2100,0)"></use><use data-c="1D69C" xlink:href="#MJX-7-TEX-M-1D69C" transform="translate(2625,0)"></use><use data-c="5D" xlink:href="#MJX-7-TEX-M-5D" transform="translate(3150,0)"></use></g></g></g></svg></mjx-container> token, similar to <a href="https://arxiv.org/abs/1810.04805">BERT</a>, telling the model to classify the image, leaving us  with a <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="12.305ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 5438.9 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-8-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-8-TEX-I-1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path><path id="MJX-8-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-8-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-8-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path id="MJX-8-TEX-N-D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path><path id="MJX-8-TEX-I-1D437" d="M287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><use data-c="28" xlink:href="#MJX-8-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(389,0)"><use data-c="1D441" xlink:href="#MJX-8-TEX-I-1D441"></use></g><g data-mml-node="mo" transform="translate(1499.2,0)"><use data-c="2B" xlink:href="#MJX-8-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(2499.4,0)"><use data-c="31" xlink:href="#MJX-8-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(2999.4,0)"><use data-c="29" xlink:href="#MJX-8-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(3610.7,0)"><use data-c="D7" xlink:href="#MJX-8-TEX-N-D7"></use></g><g data-mml-node="mi" transform="translate(4610.9,0)"><use data-c="1D437" xlink:href="#MJX-8-TEX-I-1D437"></use></g></g></g></svg></mjx-container> dimension vector, <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.156ex" height="1.005ex" role="img" focusable="false" viewBox="0 -444 511 444" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-9-TEX-B-1D433" d="M48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtext"><use data-c="1D433" xlink:href="#MJX-9-TEX-B-1D433"></use></g></g></g></svg></mjx-container>.</p>
<p>The representation of the first token in the output of the final Transformer encoder layer serves as the image representation. The classification head is attached to only this token. Position embeddings are added to the patch embeddings, and these vectors serve as input to the encoder.</p>
<p>The Transformer architecture is constructed as follows:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -1.016ex;" xmlns="http://www.w3.org/2000/svg" width="172.993ex" height="3.163ex" role="img" focusable="false" viewBox="0 -948.9 76462.8 1397.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-10-TEX-B-1D433" d="M48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262Z"></path><path id="MJX-10-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path id="MJX-10-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-10-TEX-SO-5B" d="M202 -349V850H394V810H242V-309H394V-349H202Z"></path><path id="MJX-10-TEX-B-1D431" d="M227 0Q212 3 121 3Q40 3 28 0H21V62H117L245 213L109 382H26V444H34Q49 441 143 441Q247 441 265 444H274V382H246L281 339Q315 297 316 297Q320 297 354 341L389 382H352V444H360Q375 441 466 441Q547 441 559 444H566V382H471L355 246L504 63L545 62H586V0H578Q563 3 469 3Q365 3 347 0H338V62H366Q366 63 326 112T285 163L198 63L217 62H235V0H227Z"></path><path id="MJX-10-TEX-N-63" d="M370 305T349 305T313 320T297 358Q297 381 312 396Q317 401 317 402T307 404Q281 408 258 408Q209 408 178 376Q131 329 131 219Q131 137 162 90Q203 29 272 29Q313 29 338 55T374 117Q376 125 379 127T395 129H409Q415 123 415 120Q415 116 411 104T395 71T366 33T318 2T249 -11Q163 -11 99 53T34 214Q34 318 99 383T250 448T370 421T404 357Q404 334 387 320Z"></path><path id="MJX-10-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-10-TEX-N-61" d="M137 305T115 305T78 320T63 359Q63 394 97 421T218 448Q291 448 336 416T396 340Q401 326 401 309T402 194V124Q402 76 407 58T428 40Q443 40 448 56T453 109V145H493V106Q492 66 490 59Q481 29 455 12T400 -6T353 12T329 54V58L327 55Q325 52 322 49T314 40T302 29T287 17T269 6T247 -2T221 -8T190 -11Q130 -11 82 20T34 107Q34 128 41 147T68 188T116 225T194 253T304 268H318V290Q318 324 312 340Q290 411 215 411Q197 411 181 410T156 406T148 403Q170 388 170 359Q170 334 154 320ZM126 106Q126 75 150 51T209 26Q247 26 276 49T315 109Q317 116 318 175Q318 233 317 233Q309 233 296 232T251 223T193 203T147 166T126 106Z"></path><path id="MJX-10-TEX-N-73" d="M295 316Q295 356 268 385T190 414Q154 414 128 401Q98 382 98 349Q97 344 98 336T114 312T157 287Q175 282 201 278T245 269T277 256Q294 248 310 236T342 195T359 133Q359 71 321 31T198 -10H190Q138 -10 94 26L86 19L77 10Q71 4 65 -1L54 -11H46H42Q39 -11 33 -5V74V132Q33 153 35 157T45 162H54Q66 162 70 158T75 146T82 119T101 77Q136 26 198 26Q295 26 295 104Q295 133 277 151Q257 175 194 187T111 210Q75 227 54 256T33 318Q33 357 50 384T93 424T143 442T187 447H198Q238 447 268 432L283 424L292 431Q302 440 314 448H322H326Q329 448 335 442V310L329 304H301Q295 310 295 316Z"></path><path id="MJX-10-TEX-N-A0" d=""></path><path id="MJX-10-TEX-N-3B" d="M78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 85 94 103T137 121Q202 121 202 8Q202 -44 183 -94T144 -169T118 -194Q115 -194 106 -186T95 -174Q94 -171 107 -155T137 -107T160 -38Q161 -32 162 -22T165 -4T165 4Q165 5 161 4T142 0Q110 0 94 18T78 60Z"></path><path id="MJX-10-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-10-TEX-I-1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path><path id="MJX-10-TEX-B-1D404" d="M723 286Q721 284 700 145T677 3V0H39V62H147V618H39V680H660V676Q662 670 675 552T691 428V424H629V428Q629 429 627 448T618 494T601 541Q574 593 527 605T382 618H374H304V384H336Q338 384 347 384T361 384T376 386T392 390T407 397T421 407T432 423Q442 444 443 482V501H505V205H443V224Q442 258 435 278T411 307T380 318T336 322H304V62H375H394Q429 62 449 62T497 66T541 76T577 95T609 126T632 170T651 232Q661 287 661 289H723V286Z"></path><path id="MJX-10-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path><path id="MJX-10-TEX-N-22EF" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250ZM525 250Q525 274 542 292T585 310Q609 310 627 294T646 251Q646 226 629 208T586 190T543 207T525 250ZM972 250Q972 274 989 292T1032 310Q1056 310 1074 294T1093 251Q1093 226 1076 208T1033 190T990 207T972 250Z"></path><path id="MJX-10-TEX-I-1D441" d="M234 637Q231 637 226 637Q201 637 196 638T191 649Q191 676 202 682Q204 683 299 683Q376 683 387 683T401 677Q612 181 616 168L670 381Q723 592 723 606Q723 633 659 637Q635 637 635 648Q635 650 637 660Q641 676 643 679T653 683Q656 683 684 682T767 680Q817 680 843 681T873 682Q888 682 888 672Q888 650 880 642Q878 637 858 637Q787 633 769 597L620 7Q618 0 599 0Q585 0 582 2Q579 5 453 305L326 604L261 344Q196 88 196 79Q201 46 268 46H278Q284 41 284 38T282 19Q278 6 272 0H259Q228 2 151 2Q123 2 100 2T63 2T46 1Q31 1 31 10Q31 14 34 26T39 40Q41 46 62 46Q130 49 150 85Q154 91 221 362L289 634Q287 635 234 637Z"></path><path id="MJX-10-TEX-SO-5D" d="M22 810V850H214V-349H22V-309H174V810H22Z"></path><path id="MJX-10-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-10-TEX-I-1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path><path id="MJX-10-TEX-I-1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path><path id="MJX-10-TEX-N-2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path><path id="MJX-10-TEX-N-2208" d="M84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250Z"></path><path id="MJX-10-TEX-D-211D" d="M17 665Q17 672 28 683H221Q415 681 439 677Q461 673 481 667T516 654T544 639T566 623T584 607T597 592T607 578T614 565T618 554L621 548Q626 530 626 497Q626 447 613 419Q578 348 473 326L455 321Q462 310 473 292T517 226T578 141T637 72T686 35Q705 30 705 16Q705 7 693 -1H510Q503 6 404 159L306 310H268V183Q270 67 271 59Q274 42 291 38Q295 37 319 35Q344 35 353 28Q362 17 353 3L346 -1H28Q16 5 16 16Q16 35 55 35Q96 38 101 52Q106 60 106 341T101 632Q95 645 55 648Q17 648 17 665ZM241 35Q238 42 237 45T235 78T233 163T233 337V621L237 635L244 648H133Q136 641 137 638T139 603T141 517T141 341Q141 131 140 89T134 37Q133 36 133 35H241ZM457 496Q457 540 449 570T425 615T400 634T377 643Q374 643 339 648Q300 648 281 635Q271 628 270 610T268 481V346H284Q327 346 375 352Q421 364 439 392T457 496ZM492 537T492 496T488 427T478 389T469 371T464 361Q464 360 465 360Q469 360 497 370Q593 400 593 495Q593 592 477 630L457 637L461 626Q474 611 488 561Q492 537 492 496ZM464 243Q411 317 410 317Q404 317 401 315Q384 315 370 312H346L526 35H619L606 50Q553 109 464 243Z"></path><path id="MJX-10-TEX-SO-28" d="M152 251Q152 646 388 850H416Q422 844 422 841Q422 837 403 816T357 753T302 649T255 482T236 250Q236 124 255 19T301 -147T356 -251T403 -315T422 -340Q422 -343 416 -349H388Q359 -325 332 -296T271 -213T212 -97T170 56T152 251Z"></path><path id="MJX-10-TEX-I-1D443" d="M287 628Q287 635 230 637Q206 637 199 638T192 648Q192 649 194 659Q200 679 203 681T397 683Q587 682 600 680Q664 669 707 631T751 530Q751 453 685 389Q616 321 507 303Q500 302 402 301H307L277 182Q247 66 247 59Q247 55 248 54T255 50T272 48T305 46H336Q342 37 342 35Q342 19 335 5Q330 0 319 0Q316 0 282 1T182 2Q120 2 87 2T51 1Q33 1 33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM645 554Q645 567 643 575T634 597T609 619T560 635Q553 636 480 637Q463 637 445 637T416 636T404 636Q391 635 386 627Q384 621 367 550T332 412T314 344Q314 342 395 342H407H430Q542 342 590 392Q617 419 631 471T645 554Z"></path><path id="MJX-10-TEX-N-22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path><path id="MJX-10-TEX-I-1D436" d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z"></path><path id="MJX-10-TEX-SO-29" d="M305 251Q305 -145 69 -349H56Q43 -349 39 -347T35 -338Q37 -333 60 -307T108 -239T160 -136T204 27T221 250T204 473T160 636T108 740T60 807T35 839Q35 850 50 850H56H69Q197 743 256 566Q305 425 305 251Z"></path><path id="MJX-10-TEX-N-D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path><path id="MJX-10-TEX-I-1D437" d="M287 628Q287 635 230 637Q207 637 200 638T193 647Q193 655 197 667T204 682Q206 683 403 683Q570 682 590 682T630 676Q702 659 752 597T803 431Q803 275 696 151T444 3L430 1L236 0H125H72Q48 0 41 2T33 11Q33 13 36 25Q40 41 44 43T67 46Q94 46 127 49Q141 52 146 61Q149 65 218 339T287 628ZM703 469Q703 507 692 537T666 584T629 613T590 629T555 636Q553 636 541 636T512 636T479 637H436Q392 637 386 627Q384 623 313 339T242 52Q242 48 253 48T330 47Q335 47 349 47T373 46Q499 46 581 128Q617 164 640 212T683 339T703 469Z"></path><path id="MJX-10-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-10-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path id="MJX-10-TEX-V-2032" d="M79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43Z"></path><path id="MJX-10-TEX-I-2113" d="M345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634Z"></path><path id="MJX-10-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-10-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-10-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-10-TEX-N-4C" d="M128 622Q121 629 117 631T101 634T58 637H25V683H36Q48 680 182 680Q324 680 348 683H360V637H333Q273 637 258 635T233 622L232 342V129Q232 57 237 52Q243 47 313 47Q384 47 410 53Q470 70 498 110T536 221Q536 226 537 238T540 261T542 272T562 273H582V268Q580 265 568 137T554 5V0H25V46H58Q100 47 109 49T128 61V622Z"></path><path id="MJX-10-TEX-N-4E" d="M42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42Z"></path><path id="MJX-10-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-10-TEX-N-2026" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60ZM525 60Q525 84 542 102T585 120Q609 120 627 104T646 61Q646 36 629 18T586 0T543 17T525 60ZM972 60Q972 84 989 102T1032 120Q1056 120 1074 104T1093 61Q1093 36 1076 18T1033 0T990 17T972 60Z"></path><path id="MJX-10-TEX-I-1D43F" d="M228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637Z"></path><path id="MJX-10-TEX-N-50" d="M130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488Z"></path><path id="MJX-10-TEX-B-1D432" d="M84 -102Q84 -110 87 -119T102 -138T133 -149Q148 -148 162 -143T186 -131T206 -114T222 -95T234 -76T243 -59T249 -45T252 -37L269 0L96 382H26V444H34Q49 441 146 441Q252 441 270 444H279V382H255Q232 382 232 380L337 151L442 382H394V444H401Q413 441 495 441Q568 441 574 444H580V382H510L406 152Q298 -84 297 -87Q269 -139 225 -169T131 -200Q85 -200 54 -172T23 -100Q23 -64 44 -50T87 -35Q111 -35 130 -50T152 -92V-100H84V-102Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mtable"><g data-mml-node="mtr" transform="translate(0,-64.8)"><g data-mml-node="mtd"><g data-mml-node="msub"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="30" xlink:href="#MJX-10-TEX-N-30"></use></g></g></g></g><g data-mml-node="mtd" transform="translate(947.6,0)"><g data-mml-node="mi"></g><g data-mml-node="mo" transform="translate(277.8,0)"><use data-c="3D" xlink:href="#MJX-10-TEX-N-3D"></use></g><g data-mml-node="mrow" transform="translate(1333.6,0)"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="5B" xlink:href="#MJX-10-TEX-SO-5B"></use></g><g data-mml-node="msub" transform="translate(417,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D431" xlink:href="#MJX-10-TEX-B-1D431"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mtext"><use data-c="63" xlink:href="#MJX-10-TEX-N-63"></use><use data-c="6C" xlink:href="#MJX-10-TEX-N-6C" transform="translate(444,0)"></use><use data-c="61" xlink:href="#MJX-10-TEX-N-61" transform="translate(722,0)"></use><use data-c="73" xlink:href="#MJX-10-TEX-N-73" transform="translate(1222,0)"></use><use data-c="73" xlink:href="#MJX-10-TEX-N-73" transform="translate(1616,0)"></use><use data-c="A0" xlink:href="#MJX-10-TEX-N-A0" transform="translate(2010,0)"></use></g></g></g><g data-mml-node="mo" transform="translate(2705.1,0)"><use data-c="3B" xlink:href="#MJX-10-TEX-N-3B"></use></g><g data-mml-node="msubsup" transform="translate(3149.7,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D431" xlink:href="#MJX-10-TEX-B-1D431"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="31" xlink:href="#MJX-10-TEX-N-31"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,-247) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-10-TEX-I-1D45D"></use></g></g></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(4195.4,0)"><g data-mml-node="mi"><use data-c="1D404" xlink:href="#MJX-10-TEX-B-1D404"></use></g></g><g data-mml-node="mo" transform="translate(4951.4,0)"><use data-c="3B" xlink:href="#MJX-10-TEX-N-3B"></use></g><g data-mml-node="msubsup" transform="translate(5396.1,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D431" xlink:href="#MJX-10-TEX-B-1D431"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="32" xlink:href="#MJX-10-TEX-N-32"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,-247) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-10-TEX-I-1D45D"></use></g></g></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(6441.7,0)"><g data-mml-node="mi"><use data-c="1D404" xlink:href="#MJX-10-TEX-B-1D404"></use></g></g><g data-mml-node="mo" transform="translate(7197.7,0)"><use data-c="3B" xlink:href="#MJX-10-TEX-N-3B"></use></g><g data-mml-node="mo" transform="translate(7642.4,0)"><use data-c="22EF" xlink:href="#MJX-10-TEX-N-22EF"></use></g><g data-mml-node="mo" transform="translate(8981.1,0)"><use data-c="3B" xlink:href="#MJX-10-TEX-N-3B"></use></g><g data-mml-node="msubsup" transform="translate(9425.7,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D431" xlink:href="#MJX-10-TEX-B-1D431"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D441" xlink:href="#MJX-10-TEX-I-1D441"></use></g></g><g data-mml-node="TeXAtom" transform="translate(640,-247) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-10-TEX-I-1D45D"></use></g></g></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(10743.7,0)"><g data-mml-node="mi"><use data-c="1D404" xlink:href="#MJX-10-TEX-B-1D404"></use></g></g><g data-mml-node="mo" transform="translate(11499.7,0) translate(0 -0.5)"><use data-c="5D" xlink:href="#MJX-10-TEX-SO-5D"></use></g></g><g data-mml-node="mo" transform="translate(13472.4,0)"><use data-c="2B" xlink:href="#MJX-10-TEX-N-2B"></use></g><g data-mml-node="msub" transform="translate(14472.7,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D404" xlink:href="#MJX-10-TEX-B-1D404"></use></g></g><g data-mml-node="TeXAtom" transform="translate(789,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-10-TEX-I-1D45D"></use></g><g data-mml-node="mi" transform="translate(503,0)"><use data-c="1D45C" xlink:href="#MJX-10-TEX-I-1D45C"></use></g><g data-mml-node="mi" transform="translate(988,0)"><use data-c="1D460" xlink:href="#MJX-10-TEX-I-1D460"></use></g></g></g><g data-mml-node="mo" transform="translate(16341.9,0)"><use data-c="2C" xlink:href="#MJX-10-TEX-N-2C"></use></g></g><g data-mml-node="mtd" transform="translate(19567.5,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D404" xlink:href="#MJX-10-TEX-B-1D404"></use></g></g><g data-mml-node="mo" transform="translate(1033.8,0)"><use data-c="2208" xlink:href="#MJX-10-TEX-N-2208"></use></g><g data-mml-node="msup" transform="translate(1978.6,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="211D" xlink:href="#MJX-10-TEX-D-211D"></use></g></g><g data-mml-node="TeXAtom" transform="translate(755,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mrow"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="28" xlink:href="#MJX-10-TEX-SO-28"></use></g><g data-mml-node="msup" transform="translate(458,0)"><g data-mml-node="mi"><use data-c="1D443" xlink:href="#MJX-10-TEX-I-1D443"></use></g><g data-mml-node="TeXAtom" transform="translate(839.5,363) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="32" xlink:href="#MJX-10-TEX-N-32"></use></g></g></g><g data-mml-node="mo" transform="translate(1701,0)"><use data-c="22C5" xlink:href="#MJX-10-TEX-N-22C5"></use></g><g data-mml-node="mi" transform="translate(1979,0)"><use data-c="1D436" xlink:href="#MJX-10-TEX-I-1D436"></use></g><g data-mml-node="mo" transform="translate(2739,0) translate(0 -0.5)"><use data-c="29" xlink:href="#MJX-10-TEX-SO-29"></use></g></g><g data-mml-node="mo" transform="translate(3197,0)"><use data-c="D7" xlink:href="#MJX-10-TEX-N-D7"></use></g><g data-mml-node="mi" transform="translate(3975,0)"><use data-c="1D437" xlink:href="#MJX-10-TEX-I-1D437"></use></g></g></g><g data-mml-node="mo" transform="translate(6179.8,0)"><use data-c="2C" xlink:href="#MJX-10-TEX-N-2C"></use></g><g data-mml-node="msub" transform="translate(6624.5,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D404" xlink:href="#MJX-10-TEX-B-1D404"></use></g></g><g data-mml-node="TeXAtom" transform="translate(789,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-10-TEX-I-1D45D"></use></g><g data-mml-node="mi" transform="translate(503,0)"><use data-c="1D45C" xlink:href="#MJX-10-TEX-I-1D45C"></use></g><g data-mml-node="mi" transform="translate(988,0)"><use data-c="1D460" xlink:href="#MJX-10-TEX-I-1D460"></use></g></g></g><g data-mml-node="mo" transform="translate(8771.5,0)"><use data-c="2208" xlink:href="#MJX-10-TEX-N-2208"></use></g><g data-mml-node="msup" transform="translate(9716.3,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="211D" xlink:href="#MJX-10-TEX-D-211D"></use></g></g><g data-mml-node="TeXAtom" transform="translate(755,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mo"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(389,0)"><use data-c="1D441" xlink:href="#MJX-10-TEX-I-1D441"></use></g><g data-mml-node="mo" transform="translate(1277,0)"><use data-c="2B" xlink:href="#MJX-10-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(2055,0)"><use data-c="31" xlink:href="#MJX-10-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(2555,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(2944,0)"><use data-c="D7" xlink:href="#MJX-10-TEX-N-D7"></use></g><g data-mml-node="mi" transform="translate(3722,0)"><use data-c="1D437" xlink:href="#MJX-10-TEX-I-1D437"></use></g></g></g><g data-mml-node="mtext" transform="translate(13738.6,0)"><use data-c="A0" xlink:href="#MJX-10-TEX-N-A0"></use></g><g data-mml-node="msubsup" transform="translate(13988.6,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2032" xlink:href="#MJX-10-TEX-V-2032"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-247) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g></g></g></g><g data-mml-node="mtd" transform="translate(34444.9,0)"><g data-mml-node="mi"></g><g data-mml-node="mo" transform="translate(277.8,0)"><use data-c="3D" xlink:href="#MJX-10-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(1333.6,0)"><use data-c="4D" xlink:href="#MJX-10-TEX-N-4D"></use><use data-c="53" xlink:href="#MJX-10-TEX-N-53" transform="translate(917,0)"></use><use data-c="41" xlink:href="#MJX-10-TEX-N-41" transform="translate(1473,0)"></use></g><g data-mml-node="mrow" transform="translate(3723.2,0)"><g data-mml-node="mo"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(389,0)"><g data-mml-node="mi"><use data-c="4C" xlink:href="#MJX-10-TEX-N-4C"></use><use data-c="4E" xlink:href="#MJX-10-TEX-N-4E" transform="translate(625,0)"></use></g></g><g data-mml-node="mrow" transform="translate(1930.7,0)"><g data-mml-node="mo"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="msub" transform="translate(389,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g><g data-mml-node="mo" transform="translate(417,0)"><use data-c="2212" xlink:href="#MJX-10-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(1195,0)"><use data-c="31" xlink:href="#MJX-10-TEX-N-31"></use></g></g></g><g data-mml-node="mo" transform="translate(2181.5,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g></g><g data-mml-node="mo" transform="translate(4501.2,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g></g><g data-mml-node="mo" transform="translate(8835.7,0)"><use data-c="2B" xlink:href="#MJX-10-TEX-N-2B"></use></g><g data-mml-node="msub" transform="translate(9835.9,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g><g data-mml-node="mo" transform="translate(417,0)"><use data-c="2212" xlink:href="#MJX-10-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(1195,0)"><use data-c="31" xlink:href="#MJX-10-TEX-N-31"></use></g></g></g><g data-mml-node="mo" transform="translate(11628.4,0)"><use data-c="2C" xlink:href="#MJX-10-TEX-N-2C"></use></g></g><g data-mml-node="mtd" transform="translate(48351.4,0)"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g><g data-mml-node="mo" transform="translate(694.8,0)"><use data-c="3D" xlink:href="#MJX-10-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(1750.6,0)"><use data-c="31" xlink:href="#MJX-10-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(2417.2,0)"><use data-c="2026" xlink:href="#MJX-10-TEX-N-2026"></use></g><g data-mml-node="mi" transform="translate(3755.9,0)"><use data-c="1D43F" xlink:href="#MJX-10-TEX-I-1D43F"></use></g><g data-mml-node="mtext" transform="translate(4436.9,0)"><use data-c="A0" xlink:href="#MJX-10-TEX-N-A0"></use></g><g data-mml-node="msub" transform="translate(4686.9,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g></g></g></g><g data-mml-node="mtd" transform="translate(53927.1,0)"><g data-mml-node="mi"></g><g data-mml-node="mo" transform="translate(277.8,0)"><use data-c="3D" xlink:href="#MJX-10-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(1333.6,0)"><use data-c="4D" xlink:href="#MJX-10-TEX-N-4D"></use><use data-c="4C" xlink:href="#MJX-10-TEX-N-4C" transform="translate(917,0)"></use><use data-c="50" xlink:href="#MJX-10-TEX-N-50" transform="translate(1542,0)"></use></g><g data-mml-node="mrow" transform="translate(3723.2,0)"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="28" xlink:href="#MJX-10-TEX-SO-28"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(458,0)"><g data-mml-node="mi"><use data-c="4C" xlink:href="#MJX-10-TEX-N-4C"></use><use data-c="4E" xlink:href="#MJX-10-TEX-N-4E" transform="translate(625,0)"></use></g></g><g data-mml-node="mrow" transform="translate(1999.7,0)"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="28" xlink:href="#MJX-10-TEX-SO-28"></use></g><g data-mml-node="msubsup" transform="translate(458,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2032" xlink:href="#MJX-10-TEX-V-2032"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-247) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g></g></g><g data-mml-node="mo" transform="translate(1346.9,0) translate(0 -0.5)"><use data-c="29" xlink:href="#MJX-10-TEX-SO-29"></use></g></g><g data-mml-node="mo" transform="translate(3804.5,0) translate(0 -0.5)"><use data-c="29" xlink:href="#MJX-10-TEX-SO-29"></use></g></g><g data-mml-node="mo" transform="translate(8208,0)"><use data-c="2B" xlink:href="#MJX-10-TEX-N-2B"></use></g><g data-mml-node="msubsup" transform="translate(9208.2,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2032" xlink:href="#MJX-10-TEX-V-2032"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-247) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g></g></g><g data-mml-node="mo" transform="translate(10097.1,0)"><use data-c="2C" xlink:href="#MJX-10-TEX-N-2C"></use></g></g><g data-mml-node="mtd" transform="translate(66302.2,0)"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-10-TEX-I-2113"></use></g><g data-mml-node="mo" transform="translate(694.8,0)"><use data-c="3D" xlink:href="#MJX-10-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(1750.6,0)"><use data-c="31" xlink:href="#MJX-10-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(2417.2,0)"><use data-c="2026" xlink:href="#MJX-10-TEX-N-2026"></use></g><g data-mml-node="mi" transform="translate(3755.9,0)"><use data-c="1D43F" xlink:href="#MJX-10-TEX-I-1D43F"></use></g><g data-mml-node="mtext" transform="translate(4436.9,0)"><use data-c="A0" xlink:href="#MJX-10-TEX-N-A0"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(4686.9,0)"><g data-mml-node="mi"><use data-c="1D432" xlink:href="#MJX-10-TEX-B-1D432"></use></g></g></g><g data-mml-node="mtd" transform="translate(71596.1,0)"><g data-mml-node="mi"></g><g data-mml-node="mo" transform="translate(277.8,0)"><use data-c="3D" xlink:href="#MJX-10-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(1333.6,0)"><use data-c="4C" xlink:href="#MJX-10-TEX-N-4C"></use><use data-c="4E" xlink:href="#MJX-10-TEX-N-4E" transform="translate(625,0)"></use></g><g data-mml-node="mrow" transform="translate(2875.2,0)"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="28" xlink:href="#MJX-10-TEX-SO-28"></use></g><g data-mml-node="msubsup" transform="translate(458,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-10-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="30" xlink:href="#MJX-10-TEX-N-30"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-265.5) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D43F" xlink:href="#MJX-10-TEX-I-1D43F"></use></g></g></g><g data-mml-node="mo" transform="translate(1533.5,0) translate(0 -0.5)"><use data-c="29" xlink:href="#MJX-10-TEX-SO-29"></use></g></g></g></g></g></g></g></svg></mjx-container>
<p>where <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.371ex;" xmlns="http://www.w3.org/2000/svg" width="2.011ex" height="1.376ex" role="img" focusable="false" viewBox="0 -444 888.9 608.1" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-11-TEX-B-1D433" d="M48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262Z"></path><path id="MJX-11-TEX-I-2113" d="M345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-11-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-11-TEX-I-2113"></use></g></g></g></g></g></svg></mjx-container> represents the patch sequence representation output at each layer <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.045ex;" xmlns="http://www.w3.org/2000/svg" width="0.943ex" height="1.64ex" role="img" focusable="false" viewBox="0 -705 417 725" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-12-TEX-I-2113" d="M345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-12-TEX-I-2113"></use></g></g></g></svg></mjx-container> of the network and <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.7ex;" xmlns="http://www.w3.org/2000/svg" width="2.433ex" height="2.601ex" role="img" focusable="false" viewBox="0 -840.1 1075.5 1149.4" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-13-TEX-B-1D433" d="M48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262Z"></path><path id="MJX-13-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path id="MJX-13-TEX-I-1D43F" d="M228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msubsup"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-13-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,369.2) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="30" xlink:href="#MJX-13-TEX-N-30"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-309.4) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D43F" xlink:href="#MJX-13-TEX-I-1D43F"></use></g></g></g></g></g></svg></mjx-container> is the first token of the final layer output, which is fed into the classification head with Layer Norm <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="4.871ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2153 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-14-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-14-TEX-N-4C" d="M128 622Q121 629 117 631T101 634T58 637H25V683H36Q48 680 182 680Q324 680 348 683H360V637H333Q273 637 258 635T233 622L232 342V129Q232 57 237 52Q243 47 313 47Q384 47 410 53Q470 70 498 110T536 221Q536 226 537 238T540 261T542 272T562 273H582V268Q580 265 568 137T554 5V0H25V46H58Q100 47 109 49T128 61V622Z"></path><path id="MJX-14-TEX-N-4E" d="M42 46Q74 48 94 56T118 69T128 86V634H124Q114 637 52 637H25V683H232L235 680Q237 679 322 554T493 303L578 178V598Q572 608 568 613T544 627T492 637H475V683H483Q498 680 600 680Q706 680 715 683H724V637H707Q634 633 622 598L621 302V6L614 0H600Q585 0 582 3T481 150T282 443T171 605V345L172 86Q183 50 257 46H274V0H265Q250 3 150 3Q48 3 33 0H25V46H42Z"></path><path id="MJX-14-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><use data-c="28" xlink:href="#MJX-14-TEX-N-28"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(389,0)"><g data-mml-node="mi"><use data-c="4C" xlink:href="#MJX-14-TEX-N-4C"></use><use data-c="4E" xlink:href="#MJX-14-TEX-N-4E" transform="translate(625,0)"></use></g></g><g data-mml-node="mo" transform="translate(1764,0)"><use data-c="29" xlink:href="#MJX-14-TEX-N-29"></use></g></g></g></svg></mjx-container> applied.</p>
<p>Layer representations <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.371ex;" xmlns="http://www.w3.org/2000/svg" width="2.011ex" height="1.376ex" role="img" focusable="false" viewBox="0 -444 888.9 608.1" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-15-TEX-B-1D433" d="M48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262Z"></path><path id="MJX-15-TEX-I-2113" d="M345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-15-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-15-TEX-I-2113"></use></g></g></g></g></g></svg></mjx-container> are passed through each Transformer block, where Layer Norm and multi-headed self-attention is applied <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="6.79ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 3001 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-16-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-16-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-16-TEX-N-53" d="M55 507Q55 590 112 647T243 704H257Q342 704 405 641L426 672Q431 679 436 687T446 700L449 704Q450 704 453 704T459 705H463Q466 705 472 699V462L466 456H448Q437 456 435 459T430 479Q413 605 329 646Q292 662 254 662Q201 662 168 626T135 542Q135 508 152 480T200 435Q210 431 286 412T370 389Q427 367 463 314T500 191Q500 110 448 45T301 -21Q245 -21 201 -4T140 27L122 41Q118 36 107 21T87 -7T78 -21Q76 -22 68 -22H64Q61 -22 55 -16V101Q55 220 56 222Q58 227 76 227H89Q95 221 95 214Q95 182 105 151T139 90T205 42T305 24Q352 24 386 62T420 155Q420 198 398 233T340 281Q284 295 266 300Q261 301 239 306T206 314T174 325T141 343T112 367T85 402Q55 451 55 507Z"></path><path id="MJX-16-TEX-N-41" d="M255 0Q240 3 140 3Q48 3 39 0H32V46H47Q119 49 139 88Q140 91 192 245T295 553T348 708Q351 716 366 716H376Q396 715 400 709Q402 707 508 390L617 67Q624 54 636 51T687 46H717V0H708Q699 3 581 3Q458 3 437 0H427V46H440Q510 46 510 64Q510 66 486 138L462 209H229L209 150Q189 91 189 85Q189 72 209 59T259 46H264V0H255ZM447 255L345 557L244 256Q244 255 345 255H447Z"></path><path id="MJX-16-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><use data-c="28" xlink:href="#MJX-16-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(389,0)"><use data-c="4D" xlink:href="#MJX-16-TEX-N-4D"></use><use data-c="53" xlink:href="#MJX-16-TEX-N-53" transform="translate(917,0)"></use><use data-c="41" xlink:href="#MJX-16-TEX-N-41" transform="translate(1473,0)"></use></g><g data-mml-node="mo" transform="translate(2612,0)"><use data-c="29" xlink:href="#MJX-16-TEX-N-29"></use></g></g></g></svg></mjx-container>, a residual skip connection to the previous layer's representation <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.471ex;" xmlns="http://www.w3.org/2000/svg" width="4.056ex" height="1.475ex" role="img" focusable="false" viewBox="0 -444 1792.5 652" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-17-TEX-B-1D433" d="M48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262Z"></path><path id="MJX-17-TEX-I-2113" d="M345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634Z"></path><path id="MJX-17-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-17-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-17-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-17-TEX-I-2113"></use></g><g data-mml-node="mo" transform="translate(417,0)"><use data-c="2212" xlink:href="#MJX-17-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(1195,0)"><use data-c="31" xlink:href="#MJX-17-TEX-N-31"></use></g></g></g></g></g></svg></mjx-container> added, followed by Layer Norm, and a feed forward layer <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="6.79ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 3001 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-18-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-18-TEX-N-4D" d="M132 622Q125 629 121 631T105 634T62 637H29V683H135Q221 683 232 682T249 675Q250 674 354 398L458 124L562 398Q666 674 668 675Q671 681 683 682T781 683H887V637H854Q814 636 803 634T785 622V61Q791 51 802 49T854 46H887V0H876Q855 3 736 3Q605 3 596 0H585V46H618Q660 47 669 49T688 61V347Q688 424 688 461T688 546T688 613L687 632Q454 14 450 7Q446 1 430 1T410 7Q409 9 292 316L176 624V606Q175 588 175 543T175 463T175 356L176 86Q187 50 261 46H278V0H269Q254 3 154 3Q52 3 37 0H29V46H46Q78 48 98 56T122 69T132 86V622Z"></path><path id="MJX-18-TEX-N-4C" d="M128 622Q121 629 117 631T101 634T58 637H25V683H36Q48 680 182 680Q324 680 348 683H360V637H333Q273 637 258 635T233 622L232 342V129Q232 57 237 52Q243 47 313 47Q384 47 410 53Q470 70 498 110T536 221Q536 226 537 238T540 261T542 272T562 273H582V268Q580 265 568 137T554 5V0H25V46H58Q100 47 109 49T128 61V622Z"></path><path id="MJX-18-TEX-N-50" d="M130 622Q123 629 119 631T103 634T60 637H27V683H214Q237 683 276 683T331 684Q419 684 471 671T567 616Q624 563 624 489Q624 421 573 372T451 307Q429 302 328 301H234V181Q234 62 237 58Q245 47 304 46H337V0H326Q305 3 182 3Q47 3 38 0H27V46H60Q102 47 111 49T130 61V622ZM507 488Q507 514 506 528T500 564T483 597T450 620T397 635Q385 637 307 637H286Q237 637 234 628Q231 624 231 483V342H302H339Q390 342 423 349T481 382Q507 411 507 488Z"></path><path id="MJX-18-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mo"><use data-c="28" xlink:href="#MJX-18-TEX-N-28"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(389,0)"><g data-mml-node="mi"><use data-c="4D" xlink:href="#MJX-18-TEX-N-4D"></use><use data-c="4C" xlink:href="#MJX-18-TEX-N-4C" transform="translate(917,0)"></use><use data-c="50" xlink:href="#MJX-18-TEX-N-50" transform="translate(1542,0)"></use></g></g><g data-mml-node="mo" transform="translate(2612,0)"><use data-c="29" xlink:href="#MJX-18-TEX-N-29"></use></g></g></g></svg></mjx-container> with a residual connection to the intermediate representation, <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.677ex;" xmlns="http://www.w3.org/2000/svg" width="2.011ex" height="2.394ex" role="img" focusable="false" viewBox="0 -759 888.9 1058.2" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-19-TEX-B-1D433" d="M48 262Q48 264 54 349T60 436V444H252Q289 444 336 444T394 445Q441 445 450 441T459 418Q459 406 458 404Q456 399 327 229T194 55H237Q260 56 268 56T297 58T325 65T348 77T370 98T384 128T395 170Q400 197 400 216Q400 217 431 217H462V211Q461 208 453 108T444 6V0H245Q46 0 43 2Q32 7 32 28V33Q32 41 40 52T84 112Q129 170 164 217L298 393H256Q189 392 165 380Q124 360 115 303Q110 280 110 256Q110 254 79 254H48V262Z"></path><path id="MJX-19-TEX-V-2032" d="M79 43Q73 43 52 49T30 61Q30 68 85 293T146 528Q161 560 198 560Q218 560 240 545T262 501Q262 496 260 486Q259 479 173 263T84 45T79 43Z"></path><path id="MJX-19-TEX-I-2113" d="M345 104T349 104T361 95T369 80T352 59Q268 -20 206 -20Q170 -20 146 3T113 53T99 104L94 129Q94 130 79 116T48 86T28 70Q22 70 15 79T7 94Q7 98 12 103T58 147L91 179V185Q91 186 91 191T92 200Q92 282 128 400T223 612T336 705Q397 705 397 636V627Q397 453 194 233Q185 223 180 218T174 211T171 208T165 201L163 186Q159 142 159 123Q159 17 208 17Q228 17 253 30T293 56T335 94Q345 104 349 104ZM360 634Q360 655 354 661T336 668Q328 668 322 666T302 645T272 592Q252 547 229 467T192 330L179 273Q179 272 186 280T204 300T221 322Q327 453 355 590Q360 612 360 634Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msubsup"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D433" xlink:href="#MJX-19-TEX-B-1D433"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,363) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2032" xlink:href="#MJX-19-TEX-V-2032"></use></g></g><g data-mml-node="TeXAtom" transform="translate(544,-285.1) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="2113" xlink:href="#MJX-19-TEX-I-2113"></use></g></g></g></g></g></svg></mjx-container>.</p>
<p>The authors construct multiple versions of the model at various scales to compare results across model size, similar to BERT. Base = "B", Large = "L", Huge = "H".</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2F2OSKlMdMu4.png?alt=media&#x26;token=96665b64-59c0-49e6-9620-4e2ed5c194a9" alt="img"></p>
<p>The authors also experiment with a <em>hybrid</em> architecture, where instead of using patches as the input sequence, the intermediate representation of a ResNet model is used, replacing the patch embedding. The rest of the architecture remains unchanged.</p>
<h3><strong>Training</strong></h3>
<p>Models are (pre-)trained on multiple image datasets, including ImageNet (1K classes / 1.3M images), ImageNet-21K (21K classes / 14M images), and JFT (18K classes / 303M images). As the largest dataset, JFT-300M is the main focus of the paper, which we will see enables big performance improvements when used in the largest versions of the architecture. Here, the model is pre-trained for 1M steps. The remaining training hyperparameters can found be found in the paper.</p>
<p>The Vision Transformer is fine-tuned at higher resolution than pre-training, which helps performance. However, higher resolution images have more pixels, so the patch sequences are longer. Rather than create extra positional embeddings for these additional tokens, the existing embeddings are interpolated such that multiple higher resolution patches correspond to each lower resolution positional embedding. This is necessary as the additional positional embeddings would not have been seen during pre-training and hence would be meaningless if applied directly. This is the only point in which inductive bias about the structure of images enters into the Vision Transformer.</p>
<h2><strong>Experiments and results</strong></h2>
<p>The authors choose a number of benchmark tasks for performance evaluation: ImageNet, ImageNet ReaL, CIFAR-10/100, Oxford-IIIT Pets, Oxford Flowers-102, and the 19-task VTAB classification suite.</p>
<h3><strong>Performance</strong></h3>
<p>ViT-L/16 matches or outperforms <a href="https://arxiv.org/abs/1912.11370">BiT-L</a> (large ResNet that supports supervised transfer learning) on all datasets with 4-10x fewer computational resources used during pre-training (as measured by TPUv3-days):</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2F48LEQrPHie.png?alt=media&#x26;token=ea615283-6f31-4f55-adfd-c56daed993cf" alt="img"></p>
<p>This performance advantage disappears if ViT is trained on a smallest dataset, such as ImageNet. Only with the largest dataset, JFT-300M, do larger models outperform all others:</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2FGRzsbFb6vJ.png?alt=media&#x26;token=1aec9a71-1329-4340-92ca-de961f4e0f2c" alt="img"></p>
<p>ViT-B/16 and ViT-B/32 do not gain as much from being trained on larger datasets. This alludes to the intuition that the convolutional inductive bias is most useful for smaller datasets. On larger datasets however, learning the patterns directly is better:</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2FXwJwDr5hc7.png?alt=media&#x26;token=e301e7d6-acfd-4720-adc3-41756e4d92c1" alt="img"></p>
<h3><strong>Performance vs. compute cost</strong></h3>
<p>The Vision Transformer outperforms ResNets in terms of the performance / compute ratio. ViT uses half as much compute to attain the same performance level (x-axis is pre-training exaFLOPs on log scale):</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2FNTp0HNzd1y.png?alt=media&#x26;token=fc2114ab-293b-46b5-9865-173e36146697" alt="img"></p>
<p>Interestingly, hybrids slightly outperform the Vision Transformer with small computational budgets but not for larger ones. The authors note their surprise at this result, as it might be expected that convolutional feature maps coming from ResNet would be helpful at any scale</p>
<h3><strong>Global self-attention</strong></h3>
<p>Self-attention allows the Vision Transformer to integrate information across the entire image, even in the lower Transformer layers. This is unlike CNNs, where only the later layers are able to aggregate information from different parts of the image. Experiments show that the "attention distance" of the attended area is large in the later layers, as expected, but also large in some portion of the earlier layers, demonstrating the ability to learn long-range dependencies. For example, some of the earlier layers heads attend to patches 100 pixels away from on another (right chart below):</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2F3WDSyMFDSj.png?alt=media&#x26;token=0df75f5f-c3bd-4f74-92a8-d6d1398bbd2b" alt="img"></p>
<p>The model clearly attends to image regions that are most relevant for classification:</p>
<p><img src="https://firebasestorage.googleapis.com/v0/b/firescript-577a2.appspot.com/o/imgs%2Fapp%2Fwhoisnnamdi%2FdUY64eIB3n.png?alt=media&#x26;token=6ce00cb5-cf21-43ae-a904-6e69ac2854d4" alt="img"></p>
<h3><strong>Self-supervised pre-training</strong></h3>
<p>The authors experiment with self-supervised pre-training using "<em>masked patch prediction</em>," mimicking masked language modeling in the NLP context. With this training regimen, ViT-B/16 achieves 79.9% accuracy on ImageNet, a 2% improvement relative to training from scratch, but 4% lower than supervised pre-training used in the rest of the paper.</p>
<h2>Reflection</h2>
<p>OK, so this is exciting stuff. Personally, I've never liked convolutions, for similar reasons that I've never liked recurrent neural networks. There just something <em>complicated</em> about them. Something inelegant. I've always loved more linear architectures, largely composed of feedforward layers with various augmentations like normalization or residual skip connections, i.e. Transformers and attention-based networks in general (and yes I know it's possible to rewrite convolutions as affine transforms). So I think it's very cool to finally see this applied to computer vision with strong results.</p>
<p>I don't know if there were enough ablations to totally prove this, but it seems like insufficient data was the core blocker preventing linear transformations from achieving similar results to CNNs. The inductive biases of CNNs have always been their key advantage, but that advantage seems to wither under the weight of massive global self-attention learned on massive image datasets, at least for image recognition / classification.</p>
<p>The authors also note that, given performance does not yet appear to saturate with increasing model size, the Vision Transformer could potentially be scaled up even further. Nice.</p>
<p>A couple wrinkles to point out.</p>
<p>The paper is currently under double-blind review for conference submission at ICLR 2021, so the authors remain anonymous for now. That said, I'd be shocked if it wasn't Google behind this paper. There are a few tells, like the fact that they use TPUs (Google-specific hardware) for training and the JFT-300M dataset (a Google maintained dataset). As of right now, it doesn't appear the JFT-300M is publicly available -- only Google researchers have access. Therefore, even if the code was made publicly available (which I'm guessing it won't), the results are not replicable. As readers, we have no idea what architectural tricks may have been used that are not made clear by the text of the paper itself, so reproducibility is not guaranteed.</p>
<p>Second, as some folks on Twitter have noted, using these 16x16 patches as input to the model is likely suboptimal. It's at best a first step and the strong performance of the hybrid version of the model (which uses intermediate ResNet representations as input) suggests as much.</p>
<p>As noted before, convolutions seems to help most in low-data / compute regimes, helping the model perform better with less training time for all but the largest model and dataset. Future research may reveal better ways to represent the input image while still avoiding the use of convolutions. If I had to guess, as in NLP, self-supervised pre-training will be key.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Pre-training via Paraphrasing (Paper Explained)]]>
                        </title>
                        <description>
                            <![CDATA[Transformer model pre-trained on document retrieval and reconstruction performs well on both fine-tuned and zero-shot downstream tasks]]>
                        </description>
                        <link>https://whoisnnamdi.com/pre-training-paraphrasing/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/pre-training-paraphrasing/</guid>
                        <category>
                                        <![CDATA[ Research ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Machine Learning ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Notes ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 29 Sep 2020 21:03:16 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512216832-image-20200927143543270.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><em>(I'm trying something new: summarizing and explaining technical research papers I come across. I spend a ton of free time reading these so I figure why not put some of that time spent to good use? Hoping this benefits others who are knee-deep in machine learning and econometric research.)</em></p>
<p><strong>Title:</strong> Pre-training via Paraphrasing</p>
<p><strong>Authors:</strong> <a href="https://ai.facebook.com/people/mike-lewis/">Mike Lewis</a>, <a href="https://www.linkedin.com/in/marjan-ghazvininejad/">Marjan Ghazvininejad</a>, <a href="https://www.linkedin.com/in/gargi-ghosh-5b1087b/">Gargi Ghosh</a>, <a href="https://www.linkedin.com/in/armenag/">Armen Aghajanyan</a>, <a href="https://www.linkedin.com/in/sidaw/">Sida Wang</a>, <a href="https://twitter.com/lukezettlemoyer">Luke Zettlemoyer</a> (all of Facebook AI)</p>
<p><strong>One sentence summary:</strong> Transformer model pre-trained on document retrieval and reconstruction performs surprisingly well on wide range of fine-tuned and zero-shot / unsupervised downstream tasks</p>
<p><strong>Source:</strong> <a href="http://arxiv.org/abs/2006.15020">http://arxiv.org/abs/2006.15020</a></p>
<p><strong>Compression:</strong> 10 pages (original ex. references and appendix) -> 3.5 pages (this article)</p>
<h2>Summary</h2>
<p>"<a href="http://arxiv.org/abs/2006.15020">Pre-training via Paraphrasing</a>" introduces <strong>MARGE</strong>, a <strong>Multilingual Autoencoder that Retrieves and Generates</strong>. In this architecture, a <em>retrieval model</em> is trained to score the relevancy of batches of "evidence" documents <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.339ex;" xmlns="http://www.w3.org/2000/svg" width="5.055ex" height="1.339ex" role="img" focusable="false" viewBox="0 -442 2234.4 592" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path><path id="MJX-1-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-1-TEX-N-2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-1-TEX-I-1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-1-TEX-I-1D467"></use></g><g data-mml-node="TeXAtom" transform="translate(498,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="31" xlink:href="#MJX-1-TEX-N-31"></use><use data-c="2E" xlink:href="#MJX-1-TEX-N-2E" transform="translate(500,0)"></use></g><g data-mml-node="mo" transform="translate(778,0)"><use data-c="2E" xlink:href="#MJX-1-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(1056,0)"><use data-c="2E" xlink:href="#MJX-1-TEX-N-2E"></use></g><g data-mml-node="mi" transform="translate(1334,0)"><use data-c="1D440" xlink:href="#MJX-1-TEX-I-1D440"></use></g></g></g></g></g></svg></mjx-container> based on their similarity to a "target" document <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.294ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 572 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-2-TEX-I-1D465"></use></g></g></g></svg></mjx-container>. Simultaneously, a <em>reconstruction model</em> is trained to reconstruct the original target document conditioning on the evidence documents and their relevance scores from the retrieval model. This back-and-forth emulates the behavior of an autoencoder (or even a denoising autoencoder) whereby the mapping of target document to evidence documents serves as an <em>information bottleneck</em> forcing the model to learn document representations that will best enable the reconstruction of the input document.</p>
<p>Once pre-trained on this "paraphrasing" task, MARGE can then be leveraged for downstream tasks like sentence retrieval, machine translation, summarization, paraphrasing, and question answering. Even with no fine-tuning (i.e. "zero-shot"), the model demonstrates impressive performance on these tasks. Performance improves meaningfully with task-specific fine-tuning.</p>
<h2>Key results and takeaways</h2>
<ul>
<li>Transformer-based model pre-trained on retrieval / reconstruction performs admirably across multiple downstream generative and discriminative tasks, <strong>including state of the art (SOTA) results on some tasks</strong></li>
<li><strong>Achieves BLEU scores of up to 35.8</strong> on zero-shot unsupervised document translation with no task-specific fine-tuning</li>
<li>Outperforms other unsupervised models on unsupervised cross-lingual sentence retrieval by large margin</li>
<li>Impressively, <strong>model is trainable from random initialization</strong> despite "chicken-and-egg" problem of retrieval and reconstruction models being co-dependent</li>
</ul>
<h2>Methodology</h2>
<p>Retrieval and reconstruction together act as an <em>autoencoder</em>. The retrieved documents act as a noisy representation of the input, and this process serves as an information bottleneck for the algorithm (an encoder). The meaning of the original input is therefore encoded in these documents via the choice of which documents to retrieve along with the relevance score assigned to each. This mapping of input to retrieved documents is the "encoder" of the autoencoder. The reconstruction of the input via the retrieved documents is effectively the decoder.</p>
<p>Both the encoder and decoder here have a <a href="https://arxiv.org/abs/1706.03762">Transformer</a>-like architecture with <a href="http://jalammar.github.io/illustrated-transformer/">multi-headed attention</a> calculated across multiple layers.</p>
<h3>Retrieval model</h3>
<p>The input to the MARGE model is a batch of "evidence" (the documents to be retrieved) and a "target" (the document to be reconstructed). Batches are created by:</p>
<ul>
<li>sharding the document dataset into groups of potentially documents using heuristics like publication date</li>
<li>taking the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.179ex" height="1.595ex" role="img" focusable="false" viewBox="0 -694 521 705" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D458" d="M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D458" xlink:href="#MJX-3-TEX-I-1D458"></use></g></g></g></svg></mjx-container> evidence documents within the shard most similar to the target document (according to <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="6.357ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2809.7 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path><path id="MJX-4-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-4-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path><path id="MJX-4-TEX-N-2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path><path id="MJX-4-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path><path id="MJX-4-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D453" xlink:href="#MJX-4-TEX-I-1D453"></use></g><g data-mml-node="mo" transform="translate(550,0)"><use data-c="28" xlink:href="#MJX-4-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(939,0)"><use data-c="1D465" xlink:href="#MJX-4-TEX-I-1D465"></use></g><g data-mml-node="mo" transform="translate(1511,0)"><use data-c="2C" xlink:href="#MJX-4-TEX-N-2C"></use></g><g data-mml-node="mi" transform="translate(1955.7,0)"><use data-c="1D467" xlink:href="#MJX-4-TEX-I-1D467"></use></g><g data-mml-node="mo" transform="translate(2420.7,0)"><use data-c="29" xlink:href="#MJX-4-TEX-N-29"></use></g></g></g></svg></mjx-container> below)</li>
<li>including a subset of these <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.179ex" height="1.595ex" role="img" focusable="false" viewBox="0 -694 521 705" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-I-1D458" d="M121 647Q121 657 125 670T137 683Q138 683 209 688T282 694Q294 694 294 686Q294 679 244 477Q194 279 194 272Q213 282 223 291Q247 309 292 354T362 415Q402 442 438 442Q468 442 485 423T503 369Q503 344 496 327T477 302T456 291T438 288Q418 288 406 299T394 328Q394 353 410 369T442 390L458 393Q446 405 434 405H430Q398 402 367 380T294 316T228 255Q230 254 243 252T267 246T293 238T320 224T342 206T359 180T365 147Q365 130 360 106T354 66Q354 26 381 26Q429 26 459 145Q461 153 479 153H483Q499 153 499 144Q499 139 496 130Q455 -11 378 -11Q333 -11 305 15T277 90Q277 108 280 121T283 145Q283 167 269 183T234 206T200 217T182 220H180Q168 178 159 139T145 81T136 44T129 20T122 7T111 -2Q98 -11 83 -11Q66 -11 57 -1T48 16Q48 26 85 176T158 471L195 616Q196 629 188 632T149 637H144Q134 637 131 637T124 640T121 647Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D458" xlink:href="#MJX-5-TEX-I-1D458"></use></g></g></g></svg></mjx-container> documents in the batch, weighting documents in other languages more than same-language documents</li>
</ul>
<p>Batches are dropped and regenerated offline every 10K training steps by re-computing the pairwise relevance scores across documents.</p>
<p>The retrieval model compares candidate documents by computing a pairwise relevance score <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="6.357ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 2809.7 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-6-TEX-I-1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path><path id="MJX-6-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-6-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path><path id="MJX-6-TEX-N-2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path><path id="MJX-6-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path><path id="MJX-6-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D453" xlink:href="#MJX-6-TEX-I-1D453"></use></g><g data-mml-node="mo" transform="translate(550,0)"><use data-c="28" xlink:href="#MJX-6-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(939,0)"><use data-c="1D465" xlink:href="#MJX-6-TEX-I-1D465"></use></g><g data-mml-node="mo" transform="translate(1511,0)"><use data-c="2C" xlink:href="#MJX-6-TEX-N-2C"></use></g><g data-mml-node="mi" transform="translate(1955.7,0)"><use data-c="1D467" xlink:href="#MJX-6-TEX-I-1D467"></use></g><g data-mml-node="mo" transform="translate(2420.7,0)"><use data-c="29" xlink:href="#MJX-6-TEX-N-29"></use></g></g></g></svg></mjx-container> between a target document <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.294ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 572 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-7-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-7-TEX-I-1D465"></use></g></g></g></svg></mjx-container> and evidence document <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.052ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 465 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-8-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-8-TEX-I-1D467"></use></g></g></g></svg></mjx-container> from the corpus. This takes the form of the cosine similarity of the documents, encoded by a function <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="3.468ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 1533 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-9-TEX-I-1D454" d="M311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328Z"></path><path id="MJX-9-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-9-TEX-N-22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path><path id="MJX-9-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D454" xlink:href="#MJX-9-TEX-I-1D454"></use></g><g data-mml-node="mo" transform="translate(477,0)"><use data-c="28" xlink:href="#MJX-9-TEX-N-28"></use></g><g data-mml-node="mo" transform="translate(866,0)"><use data-c="22C5" xlink:href="#MJX-9-TEX-N-22C5"></use></g><g data-mml-node="mo" transform="translate(1144,0)"><use data-c="29" xlink:href="#MJX-9-TEX-N-29"></use></g></g></g></svg></mjx-container>, which takes the form of the first token of a 4-layer Transformer network:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.172ex;" xmlns="http://www.w3.org/2000/svg" width="20.91ex" height="5.475ex" role="img" focusable="false" viewBox="0 -1460 9242.2 2420" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-10-TEX-I-1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path><path id="MJX-10-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-10-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path><path id="MJX-10-TEX-N-2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path><path id="MJX-10-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path><path id="MJX-10-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path id="MJX-10-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-10-TEX-I-1D454" d="M311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328Z"></path><path id="MJX-10-TEX-N-22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path><path id="MJX-10-TEX-N-7C" d="M139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D453" xlink:href="#MJX-10-TEX-I-1D453"></use></g><g data-mml-node="mo" transform="translate(550,0)"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(939,0)"><use data-c="1D465" xlink:href="#MJX-10-TEX-I-1D465"></use></g><g data-mml-node="mo" transform="translate(1511,0)"><use data-c="2C" xlink:href="#MJX-10-TEX-N-2C"></use></g><g data-mml-node="mi" transform="translate(1955.7,0)"><use data-c="1D467" xlink:href="#MJX-10-TEX-I-1D467"></use></g><g data-mml-node="mo" transform="translate(2420.7,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(3087.4,0)"><use data-c="3D" xlink:href="#MJX-10-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(4143.2,0)"><g data-mml-node="mrow" transform="translate(414.8,710)"><g data-mml-node="mi"><use data-c="1D454" xlink:href="#MJX-10-TEX-I-1D454"></use></g><g data-mml-node="mo" transform="translate(477,0)"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(866,0)"><use data-c="1D465" xlink:href="#MJX-10-TEX-I-1D465"></use></g><g data-mml-node="mo" transform="translate(1438,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(2049.2,0)"><use data-c="22C5" xlink:href="#MJX-10-TEX-N-22C5"></use></g><g data-mml-node="mi" transform="translate(2549.4,0)"><use data-c="1D454" xlink:href="#MJX-10-TEX-I-1D454"></use></g><g data-mml-node="mo" transform="translate(3026.4,0)"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(3415.4,0)"><use data-c="1D467" xlink:href="#MJX-10-TEX-I-1D467"></use></g><g data-mml-node="mo" transform="translate(3880.4,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g></g><g data-mml-node="mrow" transform="translate(220,-710)"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-10-TEX-N-7C"></use></g><g data-mml-node="mi" transform="translate(278,0)"><use data-c="1D454" xlink:href="#MJX-10-TEX-I-1D454"></use></g><g data-mml-node="mo" transform="translate(755,0)"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(1144,0)"><use data-c="1D465" xlink:href="#MJX-10-TEX-I-1D465"></use></g><g data-mml-node="mo" transform="translate(1716,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(2105,0) translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-10-TEX-N-7C"></use></g><g data-mml-node="mo" transform="translate(2383,0) translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-10-TEX-N-7C"></use></g><g data-mml-node="mi" transform="translate(2661,0)"><use data-c="1D454" xlink:href="#MJX-10-TEX-I-1D454"></use></g><g data-mml-node="mo" transform="translate(3138,0)"><use data-c="28" xlink:href="#MJX-10-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(3527,0)"><use data-c="1D467" xlink:href="#MJX-10-TEX-I-1D467"></use></g><g data-mml-node="mo" transform="translate(3992,0)"><use data-c="29" xlink:href="#MJX-10-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(4381,0) translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-10-TEX-N-7C"></use></g></g><rect width="4859" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>These relevance scores are used both to select documents to be included in each batch as well as push the model to pay more attention to more similar documents when reconstructing the input, as I'll cover later on.</p>
<p>Using the same function for both targets and evidence ensures documents with similar words are more likely to be mapped to similar representations, even if the encoding function is largely random (which it will be at initialization).</p>
<h3>Reconstruction model</h3>
<p>The reconstruction model computes the likelihood of the target document tokens, conditioned on the evidence documents within the batch and associated relevance scores. The vector representations for all evidence documents within each batch are concatenated together into a single vector <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.339ex;" xmlns="http://www.w3.org/2000/svg" width="5.055ex" height="1.339ex" role="img" focusable="false" viewBox="0 -442 2234.4 592" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-11-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path><path id="MJX-11-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-11-TEX-N-2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-11-TEX-I-1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-11-TEX-I-1D467"></use></g><g data-mml-node="TeXAtom" transform="translate(498,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="31" xlink:href="#MJX-11-TEX-N-31"></use><use data-c="2E" xlink:href="#MJX-11-TEX-N-2E" transform="translate(500,0)"></use></g><g data-mml-node="mo" transform="translate(778,0)"><use data-c="2E" xlink:href="#MJX-11-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(1056,0)"><use data-c="2E" xlink:href="#MJX-11-TEX-N-2E"></use></g><g data-mml-node="mi" transform="translate(1334,0)"><use data-c="1D440" xlink:href="#MJX-11-TEX-I-1D440"></use></g></g></g></g></g></svg></mjx-container> before being used for reconstruction:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.697ex;" xmlns="http://www.w3.org/2000/svg" width="49.186ex" height="4.847ex" role="img" focusable="false" viewBox="0 -950 21740.2 2142.2" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-12-TEX-I-1D43F" d="M228 637Q194 637 192 641Q191 643 191 649Q191 673 202 682Q204 683 217 683Q271 680 344 680Q485 680 506 683H518Q524 677 524 674T522 656Q517 641 513 637H475Q406 636 394 628Q387 624 380 600T313 336Q297 271 279 198T252 88L243 52Q243 48 252 48T311 46H328Q360 46 379 47T428 54T478 72T522 106T564 161Q580 191 594 228T611 270Q616 273 628 273H641Q647 264 647 262T627 203T583 83T557 9Q555 4 553 3T537 0T494 -1Q483 -1 418 -1T294 0H116Q32 0 32 10Q32 17 34 24Q39 43 44 45Q48 46 59 46H65Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Q285 635 228 637Z"></path><path id="MJX-12-TEX-I-1D703" d="M35 200Q35 302 74 415T180 610T319 704Q320 704 327 704T339 705Q393 701 423 656Q462 596 462 495Q462 380 417 261T302 66T168 -10H161Q125 -10 99 10T60 63T41 130T35 200ZM383 566Q383 668 330 668Q294 668 260 623T204 521T170 421T157 371Q206 370 254 370L351 371Q352 372 359 404T375 484T383 566ZM113 132Q113 26 166 26Q181 26 198 36T239 74T287 161T335 307L340 324H145Q145 321 136 286T120 208T113 132Z"></path><path id="MJX-12-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-12-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-12-TEX-LO-2211" d="M60 948Q63 950 665 950H1267L1325 815Q1384 677 1388 669H1348L1341 683Q1320 724 1285 761Q1235 809 1174 838T1033 881T882 898T699 902H574H543H251L259 891Q722 258 724 252Q725 250 724 246Q721 243 460 -56L196 -356Q196 -357 407 -357Q459 -357 548 -357T676 -358Q812 -358 896 -353T1063 -332T1204 -283T1307 -196Q1328 -170 1348 -124H1388Q1388 -125 1381 -145T1356 -210T1325 -294L1267 -449L666 -450Q64 -450 61 -448Q55 -446 55 -439Q55 -437 57 -433L590 177Q590 178 557 222T452 366T322 544L56 909L55 924Q55 945 60 948Z"></path><path id="MJX-12-TEX-I-1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path id="MJX-12-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-12-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-12-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-12-TEX-N-2061" d=""></path><path id="MJX-12-TEX-I-1D45D" d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 442Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 -194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 -194H-32Q-39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377T71 316T59 280Q57 278 43 278H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T243 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 102Z"></path><path id="MJX-12-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-12-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path><path id="MJX-12-TEX-N-7C" d="M139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139Z"></path><path id="MJX-12-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path><path id="MJX-12-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-12-TEX-N-2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-12-TEX-I-1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path><path id="MJX-12-TEX-N-2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path><path id="MJX-12-TEX-I-1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path><path id="MJX-12-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D43F" xlink:href="#MJX-12-TEX-I-1D43F"></use></g><g data-mml-node="mi" transform="translate(714,-150) scale(0.707)"><use data-c="1D703" xlink:href="#MJX-12-TEX-I-1D703"></use></g></g><g data-mml-node="mo" transform="translate(1373.4,0)"><use data-c="3D" xlink:href="#MJX-12-TEX-N-3D"></use></g><g data-mml-node="mo" transform="translate(2429.2,0)"><use data-c="2212" xlink:href="#MJX-12-TEX-N-2212"></use></g><g data-mml-node="munder" transform="translate(3373.9,0)"><g data-mml-node="mo"><use data-c="2211" xlink:href="#MJX-12-TEX-LO-2211"></use></g><g data-mml-node="mi" transform="translate(600,-1084.4) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-12-TEX-I-1D456"></use></g></g><g data-mml-node="mi" transform="translate(4984.5,0)"><use data-c="6C" xlink:href="#MJX-12-TEX-N-6C"></use><use data-c="6F" xlink:href="#MJX-12-TEX-N-6F" transform="translate(278,0)"></use><use data-c="67" xlink:href="#MJX-12-TEX-N-67" transform="translate(778,0)"></use></g><g data-mml-node="mo" transform="translate(6262.5,0)"><use data-c="2061" xlink:href="#MJX-12-TEX-N-2061"></use></g><g data-mml-node="TeXAtom" data-mjx-texclass="ORD" transform="translate(6429.2,0)"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D45D" xlink:href="#MJX-12-TEX-I-1D45D"></use></g><g data-mml-node="mi" transform="translate(536,-150) scale(0.707)"><use data-c="1D703" xlink:href="#MJX-12-TEX-I-1D703"></use></g></g><g data-mml-node="mo" transform="translate(917.6,0)"><use data-c="28" xlink:href="#MJX-12-TEX-N-28"></use></g><g data-mml-node="msub" transform="translate(1306.6,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-12-TEX-I-1D465"></use></g><g data-mml-node="mi" transform="translate(605,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-12-TEX-I-1D456"></use></g></g><g data-mml-node="mo" transform="translate(2205.6,0) translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-12-TEX-N-7C"></use></g><g data-mml-node="msub" transform="translate(2483.6,0)"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-12-TEX-I-1D467"></use></g><g data-mml-node="TeXAtom" transform="translate(498,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="31" xlink:href="#MJX-12-TEX-N-31"></use><use data-c="2E" xlink:href="#MJX-12-TEX-N-2E" transform="translate(500,0)"></use></g><g data-mml-node="mo" transform="translate(778,0)"><use data-c="2E" xlink:href="#MJX-12-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(1056,0)"><use data-c="2E" xlink:href="#MJX-12-TEX-N-2E"></use></g><g data-mml-node="mi" transform="translate(1334,0)"><use data-c="1D440" xlink:href="#MJX-12-TEX-I-1D440"></use></g></g></g><g data-mml-node="mo" transform="translate(4718,0)"><use data-c="2C" xlink:href="#MJX-12-TEX-N-2C"></use></g><g data-mml-node="mi" transform="translate(5162.7,0)"><use data-c="1D453" xlink:href="#MJX-12-TEX-I-1D453"></use></g><g data-mml-node="mo" transform="translate(5712.7,0)"><use data-c="28" xlink:href="#MJX-12-TEX-N-28"></use></g><g data-mml-node="msub" transform="translate(6101.7,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-12-TEX-I-1D465"></use></g><g data-mml-node="mi" transform="translate(605,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-12-TEX-I-1D456"></use></g></g><g data-mml-node="mo" transform="translate(7000.7,0)"><use data-c="2C" xlink:href="#MJX-12-TEX-N-2C"></use></g><g data-mml-node="msub" transform="translate(7445.3,0)"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-12-TEX-I-1D467"></use></g><g data-mml-node="mn" transform="translate(498,-150) scale(0.707)"><use data-c="31" xlink:href="#MJX-12-TEX-N-31"></use></g></g><g data-mml-node="mo" transform="translate(8346.9,0)"><use data-c="29" xlink:href="#MJX-12-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(8735.9,0)"><use data-c="2C" xlink:href="#MJX-12-TEX-N-2C"></use></g><g data-mml-node="mo" transform="translate(9180.5,0)"><use data-c="2E" xlink:href="#MJX-12-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(9625.2,0)"><use data-c="2E" xlink:href="#MJX-12-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(10069.9,0)"><use data-c="2E" xlink:href="#MJX-12-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(10514.5,0)"><use data-c="2C" xlink:href="#MJX-12-TEX-N-2C"></use></g><g data-mml-node="mi" transform="translate(10959.2,0)"><use data-c="1D453" xlink:href="#MJX-12-TEX-I-1D453"></use></g><g data-mml-node="mo" transform="translate(11509.2,0)"><use data-c="28" xlink:href="#MJX-12-TEX-N-28"></use></g><g data-mml-node="msub" transform="translate(11898.2,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-12-TEX-I-1D465"></use></g><g data-mml-node="mi" transform="translate(605,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-12-TEX-I-1D456"></use></g></g><g data-mml-node="mo" transform="translate(12797.2,0)"><use data-c="2C" xlink:href="#MJX-12-TEX-N-2C"></use></g><g data-mml-node="msub" transform="translate(13241.8,0)"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-12-TEX-I-1D467"></use></g><g data-mml-node="mi" transform="translate(498,-150) scale(0.707)"><use data-c="1D440" xlink:href="#MJX-12-TEX-I-1D440"></use></g></g><g data-mml-node="mo" transform="translate(14533,0)"><use data-c="29" xlink:href="#MJX-12-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(14922,0)"><use data-c="29" xlink:href="#MJX-12-TEX-N-29"></use></g></g></g></g></svg></mjx-container>
<p>During decoding, attention weights are calculated for each token of the target across the set of concatenated evidence documents, meaning that the weights correspond to the attention the decoder should pay to each token of each evidence document at each time-step, capturing token-wise similarity as in standard <a href="https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html">dot-product attention</a>. Here however, the relevance scores for each document are added to the attention scores for the tokens from that document, multiplied by a trainable scalar parameter <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.439ex;" xmlns="http://www.w3.org/2000/svg" width="1.281ex" height="2.034ex" role="img" focusable="false" viewBox="0 -705 566 899" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-13-TEX-I-1D6FD" d="M29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FD" xlink:href="#MJX-13-TEX-I-1D6FD"></use></g></g></g></svg></mjx-container>. These biased scores are then softmaxed, yielding the attention weights for each time-step, layer <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="0.674ex" height="1.595ex" role="img" focusable="false" viewBox="0 -694 298 705" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-14-TEX-I-1D459" d="M117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D459" xlink:href="#MJX-14-TEX-I-1D459"></use></g></g></g></svg></mjx-container>, and attention head <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.303ex" height="1.595ex" role="img" focusable="false" viewBox="0 -694 576 705" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-15-TEX-I-210E" d="M137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="210E" xlink:href="#MJX-15-TEX-I-210E"></use></g></g></g></svg></mjx-container>:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.666ex;" xmlns="http://www.w3.org/2000/svg" width="61.321ex" height="2.803ex" role="img" focusable="false" viewBox="0 -944.6 27103.7 1238.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-16-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path><path id="MJX-16-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-16-TEX-I-1D460" d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 19T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"></path><path id="MJX-16-TEX-I-1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path><path id="MJX-16-TEX-I-1D453" d="M118 -162Q120 -162 124 -164T135 -167T147 -168Q160 -168 171 -155T187 -126Q197 -99 221 27T267 267T289 382V385H242Q195 385 192 387Q188 390 188 397L195 425Q197 430 203 430T250 431Q298 431 298 432Q298 434 307 482T319 540Q356 705 465 705Q502 703 526 683T550 630Q550 594 529 578T487 561Q443 561 443 603Q443 622 454 636T478 657L487 662Q471 668 457 668Q445 668 434 658T419 630Q412 601 403 552T387 469T380 433Q380 431 435 431Q480 431 487 430T498 424Q499 420 496 407T491 391Q489 386 482 386T428 385H372L349 263Q301 15 282 -47Q255 -132 212 -173Q175 -205 139 -205Q107 -205 81 -186T55 -132Q55 -95 76 -78T118 -61Q162 -61 162 -103Q162 -122 151 -136T127 -157L118 -162Z"></path><path id="MJX-16-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-16-TEX-I-1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-16-TEX-I-1D44E" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path><path id="MJX-16-TEX-I-1D465" d="M52 289Q59 331 106 386T222 442Q257 442 286 424T329 379Q371 442 430 442Q467 442 494 420T522 361Q522 332 508 314T481 292T458 288Q439 288 427 299T415 328Q415 374 465 391Q454 404 425 404Q412 404 406 402Q368 386 350 336Q290 115 290 78Q290 50 306 38T341 26Q378 26 414 59T463 140Q466 150 469 151T485 153H489Q504 153 504 145Q504 144 502 134Q486 77 440 33T333 -11Q263 -11 227 52Q186 -10 133 -10H127Q78 -10 57 16T35 71Q35 103 54 123T99 143Q142 143 142 101Q142 81 130 66T107 46T94 41L91 40Q91 39 97 36T113 29T132 26Q168 26 194 71Q203 87 217 139T245 247T261 313Q266 340 266 352Q266 380 251 392T217 404Q177 404 142 372T93 290Q91 281 88 280T72 278H58Q52 284 52 289Z"></path><path id="MJX-16-TEX-I-1D467" d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z"></path><path id="MJX-16-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-16-TEX-N-2E" d="M78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-16-TEX-I-1D440" d="M289 629Q289 635 232 637Q208 637 201 638T194 648Q194 649 196 659Q197 662 198 666T199 671T201 676T203 679T207 681T212 683T220 683T232 684Q238 684 262 684T307 683Q386 683 398 683T414 678Q415 674 451 396L487 117L510 154Q534 190 574 254T662 394Q837 673 839 675Q840 676 842 678T846 681L852 683H948Q965 683 988 683T1017 684Q1051 684 1051 673Q1051 668 1048 656T1045 643Q1041 637 1008 637Q968 636 957 634T939 623Q936 618 867 340T797 59Q797 55 798 54T805 50T822 48T855 46H886Q892 37 892 35Q892 19 885 5Q880 0 869 0Q864 0 828 1T736 2Q675 2 644 2T609 1Q592 1 592 11Q592 13 594 25Q598 41 602 43T625 46Q652 46 685 49Q699 52 704 61Q706 65 742 207T813 490T848 631L654 322Q458 10 453 5Q451 4 449 3Q444 0 433 0Q418 0 415 7Q413 11 374 317L335 624L267 354Q200 88 200 79Q206 46 272 46H282Q288 41 289 37T286 19Q282 3 278 1Q274 0 267 0Q265 0 255 0T221 1T157 2Q127 2 95 1T58 0Q43 0 39 2T35 11Q35 13 38 25T43 40Q45 46 65 46Q135 46 154 86Q158 92 223 354T289 629Z"></path><path id="MJX-16-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-16-TEX-I-1D444" d="M399 -80Q399 -47 400 -30T402 -11V-7L387 -11Q341 -22 303 -22Q208 -22 138 35T51 201Q50 209 50 244Q50 346 98 438T227 601Q351 704 476 704Q514 704 524 703Q621 689 680 617T740 435Q740 255 592 107Q529 47 461 16L444 8V3Q444 2 449 -24T470 -66T516 -82Q551 -82 583 -60T625 -3Q631 11 638 11Q647 11 649 2Q649 -6 639 -34T611 -100T557 -165T481 -194Q399 -194 399 -87V-80ZM636 468Q636 523 621 564T580 625T530 655T477 665Q429 665 379 640Q277 591 215 464T153 216Q153 110 207 59Q231 38 236 38V46Q236 86 269 120T347 155Q372 155 390 144T417 114T429 82T435 55L448 64Q512 108 557 185T619 334T636 468ZM314 18Q362 18 404 39L403 49Q399 104 366 115Q354 117 347 117Q344 117 341 117T337 118Q317 118 296 98T274 52Q274 18 314 18Z"></path><path id="MJX-16-TEX-I-1D459" d="M117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59Z"></path><path id="MJX-16-TEX-I-210E" d="M137 683Q138 683 209 688T282 694Q294 694 294 685Q294 674 258 534Q220 386 220 383Q220 381 227 388Q288 442 357 442Q411 442 444 415T478 336Q478 285 440 178T402 50Q403 36 407 31T422 26Q450 26 474 56T513 138Q516 149 519 151T535 153Q555 153 555 145Q555 144 551 130Q535 71 500 33Q466 -10 419 -10H414Q367 -10 346 17T325 74Q325 90 361 192T398 345Q398 404 354 404H349Q266 404 205 306L198 293L164 158Q132 28 127 16Q114 -11 83 -11Q69 -11 59 -2T48 16Q48 30 121 320L195 616Q195 629 188 632T149 637H128Q122 643 122 645T124 664Q129 683 137 683Z"></path><path id="MJX-16-TEX-I-1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path id="MJX-16-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path id="MJX-16-TEX-I-1D43E" d="M285 628Q285 635 228 637Q205 637 198 638T191 647Q191 649 193 661Q199 681 203 682Q205 683 214 683H219Q260 681 355 681Q389 681 418 681T463 682T483 682Q500 682 500 674Q500 669 497 660Q496 658 496 654T495 648T493 644T490 641T486 639T479 638T470 637T456 637Q416 636 405 634T387 623L306 305Q307 305 490 449T678 597Q692 611 692 620Q692 635 667 637Q651 637 651 648Q651 650 654 662T659 677Q662 682 676 682Q680 682 711 681T791 680Q814 680 839 681T869 682Q889 682 889 672Q889 650 881 642Q878 637 862 637Q787 632 726 586Q710 576 656 534T556 455L509 418L518 396Q527 374 546 329T581 244Q656 67 661 61Q663 59 666 57Q680 47 717 46H738Q744 38 744 37T741 19Q737 6 731 0H720Q680 3 625 3Q503 3 488 0H478Q472 6 472 9T474 27Q478 40 480 43T491 46H494Q544 46 544 71Q544 75 517 141T485 216L427 354L359 301L291 248L268 155Q245 63 245 58Q245 51 253 49T303 46H334Q340 37 340 35Q340 19 333 5Q328 0 317 0Q314 0 280 1T180 2Q118 2 85 2T49 1Q31 1 31 11Q31 13 34 25Q38 41 42 43T65 46Q92 46 125 49Q139 52 144 61Q147 65 216 339T285 628Z"></path><path id="MJX-16-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-16-TEX-I-1D6FD" d="M29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431Z"></path><path id="MJX-16-TEX-N-2C" d="M78 35T78 60T94 103T137 121Q165 121 187 96T210 8Q210 -27 201 -60T180 -117T154 -158T130 -185T117 -194Q113 -194 104 -185T95 -172Q95 -168 106 -156T131 -126T157 -76T173 -3V9L172 8Q170 7 167 6T161 3T152 1T140 0Q113 0 96 17Z"></path><path id="MJX-16-TEX-I-1D457" d="M297 596Q297 627 318 644T361 661Q378 661 389 651T403 623Q403 595 384 576T340 557Q322 557 310 567T297 596ZM288 376Q288 405 262 405Q240 405 220 393T185 362T161 325T144 293L137 279Q135 278 121 278H107Q101 284 101 286T105 299Q126 348 164 391T252 441Q253 441 260 441T272 442Q296 441 316 432Q341 418 354 401T367 348V332L318 133Q267 -67 264 -75Q246 -125 194 -164T75 -204Q25 -204 7 -183T-12 -137Q-12 -110 7 -91T53 -71Q70 -71 82 -81T95 -112Q95 -148 63 -167Q69 -168 77 -168Q111 -168 139 -140T182 -74L193 -32Q204 11 219 72T251 197T278 308T289 365Q289 372 288 376Z"></path><path id="MJX-16-TEX-N-2208" d="M84 250Q84 372 166 450T360 539Q361 539 377 539T419 540T469 540H568Q583 532 583 520Q583 511 570 501L466 500Q355 499 329 494Q280 482 242 458T183 409T147 354T129 306T124 272V270H568Q583 262 583 250T568 230H124V228Q124 207 134 177T167 112T231 48T328 7Q355 1 466 0H570Q583 -10 583 -20Q583 -32 568 -40H471Q464 -40 446 -40T417 -41Q262 -41 172 45Q84 127 84 250Z"></path><path id="MJX-16-TEX-D-211D" d="M17 665Q17 672 28 683H221Q415 681 439 677Q461 673 481 667T516 654T544 639T566 623T584 607T597 592T607 578T614 565T618 554L621 548Q626 530 626 497Q626 447 613 419Q578 348 473 326L455 321Q462 310 473 292T517 226T578 141T637 72T686 35Q705 30 705 16Q705 7 693 -1H510Q503 6 404 159L306 310H268V183Q270 67 271 59Q274 42 291 38Q295 37 319 35Q344 35 353 28Q362 17 353 3L346 -1H28Q16 5 16 16Q16 35 55 35Q96 38 101 52Q106 60 106 341T101 632Q95 645 55 648Q17 648 17 665ZM241 35Q238 42 237 45T235 78T233 163T233 337V621L237 635L244 648H133Q136 641 137 638T139 603T141 517T141 341Q141 131 140 89T134 37Q133 36 133 35H241ZM457 496Q457 540 449 570T425 615T400 634T377 643Q374 643 339 648Q300 648 281 635Q271 628 270 610T268 481V346H284Q327 346 375 352Q421 364 439 392T457 496ZM492 537T492 496T488 427T478 389T469 371T464 361Q464 360 465 360Q469 360 497 370Q593 400 593 495Q593 592 477 630L457 637L461 626Q474 611 488 561Q492 537 492 496ZM464 243Q411 317 410 317Q404 317 401 315Q384 315 370 312H346L526 35H619L606 50Q553 109 464 243Z"></path><path id="MJX-16-TEX-N-7C" d="M139 -249H137Q125 -249 119 -235V251L120 737Q130 750 139 750Q152 750 159 735V-235Q151 -249 141 -249H139Z"></path><path id="MJX-16-TEX-N-D7" d="M630 29Q630 9 609 9Q604 9 587 25T493 118L389 222L284 117Q178 13 175 11Q171 9 168 9Q160 9 154 15T147 29Q147 36 161 51T255 146L359 250L255 354Q174 435 161 449T147 471Q147 480 153 485T168 490Q173 490 175 489Q178 487 284 383L389 278L493 382Q570 459 587 475T609 491Q630 491 630 471Q630 464 620 453T522 355L418 250L522 145Q606 61 618 48T630 29Z"></path><path id="MJX-16-TEX-SO-2211" d="M61 748Q64 750 489 750H913L954 640Q965 609 976 579T993 533T999 516H979L959 517Q936 579 886 621T777 682Q724 700 655 705T436 710H319Q183 710 183 709Q186 706 348 484T511 259Q517 250 513 244L490 216Q466 188 420 134T330 27L149 -187Q149 -188 362 -188Q388 -188 436 -188T506 -189Q679 -189 778 -162T936 -43Q946 -27 959 6H999L913 -249L489 -250Q65 -250 62 -248Q56 -246 56 -239Q56 -234 118 -161Q186 -81 245 -11L428 206Q428 207 242 462L57 717L56 728Q56 744 61 748Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-16-TEX-I-1D6FC"></use></g><g data-mml-node="mo" transform="translate(917.8,0)"><use data-c="3D" xlink:href="#MJX-16-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(1973.6,0)"><use data-c="1D460" xlink:href="#MJX-16-TEX-I-1D460"></use></g><g data-mml-node="mi" transform="translate(2442.6,0)"><use data-c="1D45C" xlink:href="#MJX-16-TEX-I-1D45C"></use></g><g data-mml-node="mi" transform="translate(2927.6,0)"><use data-c="1D453" xlink:href="#MJX-16-TEX-I-1D453"></use></g><g data-mml-node="mi" transform="translate(3477.6,0)"><use data-c="1D461" xlink:href="#MJX-16-TEX-I-1D461"></use></g><g data-mml-node="mi" transform="translate(3838.6,0)"><use data-c="1D45A" xlink:href="#MJX-16-TEX-I-1D45A"></use></g><g data-mml-node="mi" transform="translate(4716.6,0)"><use data-c="1D44E" xlink:href="#MJX-16-TEX-I-1D44E"></use></g><g data-mml-node="msub" transform="translate(5245.6,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-16-TEX-I-1D465"></use></g><g data-mml-node="TeXAtom" transform="translate(605,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-16-TEX-I-1D467"></use></g><g data-mml-node="TeXAtom" transform="translate(498,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="31" xlink:href="#MJX-16-TEX-N-31"></use><use data-c="2E" xlink:href="#MJX-16-TEX-N-2E" transform="translate(500,0)"></use></g><g data-mml-node="mo" transform="translate(778,0)"><use data-c="2E" xlink:href="#MJX-16-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(1056,0)"><use data-c="2E" xlink:href="#MJX-16-TEX-N-2E"></use></g><g data-mml-node="mi" transform="translate(1334,0)"><use data-c="1D440" xlink:href="#MJX-16-TEX-I-1D440"></use></g></g></g></g></g><g data-mml-node="mo" transform="translate(7480.6,0)"><use data-c="28" xlink:href="#MJX-16-TEX-N-28"></use></g><g data-mml-node="msup" transform="translate(7869.6,0)"><g data-mml-node="mi"><use data-c="1D444" xlink:href="#MJX-16-TEX-I-1D444"></use></g><g data-mml-node="TeXAtom" transform="translate(824,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D459" xlink:href="#MJX-16-TEX-I-1D459"></use></g><g data-mml-node="mi" transform="translate(298,0)"><use data-c="210E" xlink:href="#MJX-16-TEX-I-210E"></use></g></g></g><g data-mml-node="mo" transform="translate(9361.6,0)"><use data-c="28" xlink:href="#MJX-16-TEX-N-28"></use></g><g data-mml-node="msub" transform="translate(9750.6,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-16-TEX-I-1D465"></use></g><g data-mml-node="mi" transform="translate(605,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-16-TEX-I-1D456"></use></g></g><g data-mml-node="mo" transform="translate(10649.5,0)"><use data-c="29" xlink:href="#MJX-16-TEX-N-29"></use></g><g data-mml-node="msup" transform="translate(11038.5,0)"><g data-mml-node="mi"><use data-c="1D43E" xlink:href="#MJX-16-TEX-I-1D43E"></use></g><g data-mml-node="TeXAtom" transform="translate(974,413) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D459" xlink:href="#MJX-16-TEX-I-1D459"></use></g><g data-mml-node="mi" transform="translate(298,0)"><use data-c="210E" xlink:href="#MJX-16-TEX-I-210E"></use></g></g></g><g data-mml-node="mo" transform="translate(12680.5,0)"><use data-c="28" xlink:href="#MJX-16-TEX-N-28"></use></g><g data-mml-node="msub" transform="translate(13069.5,0)"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-16-TEX-I-1D467"></use></g><g data-mml-node="TeXAtom" transform="translate(498,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mn"><use data-c="31" xlink:href="#MJX-16-TEX-N-31"></use><use data-c="2E" xlink:href="#MJX-16-TEX-N-2E" transform="translate(500,0)"></use></g><g data-mml-node="mo" transform="translate(778,0)"><use data-c="2E" xlink:href="#MJX-16-TEX-N-2E"></use></g><g data-mml-node="mo" transform="translate(1056,0)"><use data-c="2E" xlink:href="#MJX-16-TEX-N-2E"></use></g><g data-mml-node="mi" transform="translate(1334,0)"><use data-c="1D440" xlink:href="#MJX-16-TEX-I-1D440"></use></g></g></g><g data-mml-node="mo" transform="translate(15304,0)"><use data-c="29" xlink:href="#MJX-16-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(15915.2,0)"><use data-c="2B" xlink:href="#MJX-16-TEX-N-2B"></use></g><g data-mml-node="mi" transform="translate(16915.4,0)"><use data-c="1D6FD" xlink:href="#MJX-16-TEX-I-1D6FD"></use></g><g data-mml-node="mi" transform="translate(17481.4,0)"><use data-c="1D453" xlink:href="#MJX-16-TEX-I-1D453"></use></g><g data-mml-node="mo" transform="translate(18031.4,0)"><use data-c="28" xlink:href="#MJX-16-TEX-N-28"></use></g><g data-mml-node="msub" transform="translate(18420.4,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-16-TEX-I-1D465"></use></g><g data-mml-node="mi" transform="translate(605,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-16-TEX-I-1D456"></use></g></g><g data-mml-node="mo" transform="translate(19319.4,0)"><use data-c="2C" xlink:href="#MJX-16-TEX-N-2C"></use></g><g data-mml-node="msub" transform="translate(19764,0)"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-16-TEX-I-1D467"></use></g><g data-mml-node="mi" transform="translate(498,-150) scale(0.707)"><use data-c="1D457" xlink:href="#MJX-16-TEX-I-1D457"></use></g></g><g data-mml-node="mo" transform="translate(20603.4,0)"><use data-c="29" xlink:href="#MJX-16-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(20992.4,0)"><use data-c="29" xlink:href="#MJX-16-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(21659.1,0)"><use data-c="2208" xlink:href="#MJX-16-TEX-N-2208"></use></g><g data-mml-node="msup" transform="translate(22603.9,0)"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="211D" xlink:href="#MJX-16-TEX-D-211D"></use></g></g><g data-mml-node="TeXAtom" transform="translate(755,414.3) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-16-TEX-N-7C"></use></g><g data-mml-node="msub" transform="translate(278,0)"><g data-mml-node="mi"><use data-c="1D465" xlink:href="#MJX-16-TEX-I-1D465"></use></g><g data-mml-node="mi" transform="translate(605,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-16-TEX-I-1D456"></use></g></g><g data-mml-node="mo" transform="translate(1177,0) translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-16-TEX-N-7C"></use></g><g data-mml-node="mo" transform="translate(1455,0)"><use data-c="D7" xlink:href="#MJX-16-TEX-N-D7"></use></g><g data-mml-node="munder" transform="translate(2233,0)"><g data-mml-node="mo"><use data-c="2211" xlink:href="#MJX-16-TEX-SO-2211"></use></g><g data-mml-node="mi" transform="translate(1089,-285.4) scale(0.707)"><use data-c="1D457" xlink:href="#MJX-16-TEX-I-1D457"></use></g></g><g data-mml-node="mo" transform="translate(3829.9,0) translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-16-TEX-N-7C"></use></g><g data-mml-node="msub" transform="translate(4107.9,0)"><g data-mml-node="mi"><use data-c="1D467" xlink:href="#MJX-16-TEX-I-1D467"></use></g><g data-mml-node="mi" transform="translate(498,-150) scale(0.707)"><use data-c="1D457" xlink:href="#MJX-16-TEX-I-1D457"></use></g></g><g data-mml-node="mo" transform="translate(4947.3,0) translate(0 -0.5)"><use data-c="7C" xlink:href="#MJX-16-TEX-N-7C"></use></g></g></g></g></g></svg></mjx-container>
<p>Backpropagating the reconstruction loss improves both the reconstruction model and the relevance model via this attention mechanism.</p>
<h3>Architecture and training</h3>
<p>The model encoder (distinct from the encoder <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="3.468ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 1533 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-17-TEX-I-1D454" d="M311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328Z"></path><path id="MJX-17-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-17-TEX-N-22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path><path id="MJX-17-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D454" xlink:href="#MJX-17-TEX-I-1D454"></use></g><g data-mml-node="mo" transform="translate(477,0)"><use data-c="28" xlink:href="#MJX-17-TEX-N-28"></use></g><g data-mml-node="mo" transform="translate(866,0)"><use data-c="22C5" xlink:href="#MJX-17-TEX-N-22C5"></use></g><g data-mml-node="mo" transform="translate(1144,0)"><use data-c="29" xlink:href="#MJX-17-TEX-N-29"></use></g></g></g></svg></mjx-container> used to encode individual documents) is a 12-layer Transformer network with dimension 1024 and feedforward layers of size 4096. The decoder is similar in structure but the feedforward layers there are size 16536 and 4 additional Transformer layers are added to the base with only self-attention (i.e. attention only to other words within the same document) and feedforward layers of size 4096. These supplemental layers allow the words in the target to contextualize locally before doing so across documents. The first four layers of the encoder are used in the relevance model (this is the <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="3.468ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 1533 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-18-TEX-I-1D454" d="M311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328Z"></path><path id="MJX-18-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-18-TEX-N-22C5" d="M78 250Q78 274 95 292T138 310Q162 310 180 294T199 251Q199 226 182 208T139 190T96 207T78 250Z"></path><path id="MJX-18-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D454" xlink:href="#MJX-18-TEX-I-1D454"></use></g><g data-mml-node="mo" transform="translate(477,0)"><use data-c="28" xlink:href="#MJX-18-TEX-N-28"></use></g><g data-mml-node="mo" transform="translate(866,0)"><use data-c="22C5" xlink:href="#MJX-18-TEX-N-22C5"></use></g><g data-mml-node="mo" transform="translate(1144,0)"><use data-c="29" xlink:href="#MJX-18-TEX-N-29"></use></g></g></g></svg></mjx-container> referred to above).</p>
<p>The model is initially pre-trained on the <a href="https://commoncrawl.org/2016/10/news-dataset-available/">CC-NEWS corpus</a> for 1M total steps. At this point, the checkpointed model is referred to as MARGE-NEWS. Then, the authors further pre-train for an additional 100K steps on Wikipedia, referring to the resulting model as MARGE.</p>
<p>For fine-tuning, a different procedure is used for generation and classification problems. For generation (translation, summarization), the task input is fed into the encoder and the final output is generated by the decoder. For classification, the task input is fed into both the encoder and decoder</p>
<p>The MARGE model ends up with 963M parameters, more than most of its comparison set of "the strongest available multi-lingual pre-trained models" (<a href="https://arxiv.org/abs/1810.04805?source=post_page">mBERT</a>, <a href="https://arxiv.org/abs/1901.07291">XLM</a>, <a href="https://arxiv.org/abs/1911.02116">XLM-R</a>, <a href="https://arxiv.org/abs/1909.00437">MMTE</a>, <a href="https://arxiv.org/abs/2001.08210">mBART</a>), but is trained on fewer languages and a medium-sized dataset and a medium amount of GPU pre-training days:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515773255-image-20200927144908141.png" alt="image-20200927144908141"></p>
<h2>Experiments and results</h2>
<p>The papers show the wide applicability of MARGE and its paraphrasing pre-training technique by evaluating its performance across wide array of NLP tasks. MARGE performs well across many tasks, wider than any previous pre-trained model. This includes zero-shot document translation, and performance improves further with fine-tuning. The strong results of MARGE establish retrieval / reconstruction as a viable alternative to MLM for pre-training. The success of the method is partly driven by the higher relatedness of the pre-training task to downstream tasks.</p>
<h3>Document-Level Machine Translation</h3>
<p>The authors demonstrate the models strong translation performance across a number of language pairs and within both zero-shot and fine-tuned settings, achieving 35.8 BLEU in the case of unsupervised translation from German into English on the <a href="http://www.statmt.org/wmt19/">WMT19 dataset</a>, the highest score ever achieved by a system trained with no bitext (as in iterative back-translation). Performance does vary significantly by language:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515771521-image-20200927144848658.png" alt="image-20200927144848658"></p>
<p>Supervised translation with labeled bitext improves performance further, achieving competitive results against mBART:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515775340-image-20200927145026936.png" alt="image-20200927145026936"></p>
<h3>Cross-lingual Sentence Retrieval</h3>
<p>It would make sense that a model trained retrieve similar documents, sometimes in a different language, would perform well on a sentence retrieval task. Confirming this intuition, MARGE outperforms other unsupervised models by almost 10 points on the <a href="https://comparable.limsi.fr/bucc2018/bucc2018-task.html">BUCC2018 benchmark</a>, though the embeddings are tuned somewhat on BUCC development data:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515774293-image-20200927144959013.png" alt="image-20200927144959013"></p>
<h3>Summarization</h3>
<p>The authors evaluate the model's performance on monolingual sequence-to-sequence generation via text summarization tasks sourced from the <a href="https://arxiv.org/abs/2004.14900">MLSum</a> dataset. Performance is compared across multiple languages, and the extractive oracle performance level is shown for comparison-sake. What's impressive here is that MARGE's summaries are inherent abstractive - the model is generating summaries in its own words, not simply extracting words from the input text - and yet it manage to outperform an extractive mBERT model on a fundamentally extractive performance metric (<a href="https://en.wikipedia.org/wiki/ROUGE_(metric)">ROUGE-L</a>). This is not trivial to do:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515776930-image-20200927145105128.png" alt="image-20200927145105128"></p>
<h3>Question answering and paraphrasing</h3>
<p>The <a href="https://arxiv.org/abs/1910.07475">MLQA dataset</a> is used to test MARGE's performance on question answering. MARGE what over or underperforms XLM-R depending on the language, on average underperforming by a small margin (as measured by F1 score). Paraphrasing is tested on the <a href="https://arxiv.org/abs/1908.11828">PAWS-X paraphrase detection dataset</a>, where the model is trained on English and zero-shot transfer is tested on other languages. MARGE demonstrates SOTA performance relative to XLM-R:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515778248-image-20200927145133850.png" alt="image-20200927145133850"></p>
<h2>Conclusion</h2>
<p>I think this is an interesting paper mainly due to its demonstration of a new pre-training methodology that appears to work as well as masked language modeling for NLP-related tasks. The literature around pre-training grows daily, but I think we've only really scratched the surface of potential pre-training methods. That's why I'm excited to see some new blood in NLP pre-training, which has been dominated by masked language modeling a la BERT.</p>
<p>That said, the paper involves <em>some</em> hackery that seems necessary to get the model to train. This includes the heuristics that are used to group documents into relevant batches to retrieve from (which is inherently non-differentiable) as well as others tricks like encouraging cross-lingual behavior via hardcoded overweighting of cross-lingual documents in the collected batches. These tricks act as a sort of "intelligent design" mechanism which is not uncommon in deep learning but does mean that the model is not entirely trainable end-to-end via gradient descent (though it mostly is).</p>
<p>Additionally, these steps are outlined in the paper but due to limitations of the human language are not easily replicable solely via the paper's explanation. The authors would need to open source the underlying model code for others to replicate and verify these results.</p>
<p>Model-specific training and architectural hacks aside, MARGE's performance is quite impressive and adds a new feather in the pre-training quiver for NLP models.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Top Three Strategic Priorities of Developer Productivity Startups]]>
                        </title>
                        <description>
                            <![CDATA[What's top of mind for developer productivity leaders]]>
                        </description>
                        <link>https://whoisnnamdi.com/developer-productivity-strategic-priorities/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/developer-productivity-strategic-priorities/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 18 Aug 2020 15:30:32 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512212692-strategic-priorities-1.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Developer productivity is undergoing a tectonic shift. New software development paradigms and tooling have accelerated the pace and productivity of modern software teams, quickening the "shipping speed" of new software.</p>
<p>To better understand the strategic landscape, my good friend and colleague, <a href="https://www.linkedin.com/in/clio-smurro-31967b9/">Clio Smurro</a>, and I interviewed founders and executives at next-generation software and infrastructure startups pushing the developer productivity frontier to get their thoughts and insights. They shared their views on:</p>
<ul>
<li><a href="https://whoisnnamdi.com/developer-productivity-trends/">major industry trends</a>,</li>
<li><strong>top strategic priorities (you are here)</strong>, and</li>
<li><a href="https://whoisnnamdi.com/developer-productivity-challenges/">biggest challenges and pain points</a></li>
</ul>
<p>In this second chapter, we share our findings on the <strong>top strategic priorities</strong> of developer productivity startups, including:</p>
<ul>
<li><a href="#priority-1-product-go-to-market-fit">Priority #1: Product-(go-to-)market fit</a></li>
<li><a href="#priority-2-sow-first-reap-later">Priority #2: Sow first, reap later</a></li>
<li><a href="#priority-3-customers-must-succeed-or-we-will-fail">Priority #3: Customers must succeed... or we will fail</a></li>
</ul>
<p>Want to be notified when we publish part three of our findings? Subscribe below, and we'll also send you a nicely formatted PDF of our research!</p>
<h2>Priority #1: Product-(go-to-)market fit</h2>
<p>Developer productivity companies work extremely hard on the initial V1 of the product. As developers themselves, these founders are targeting difficult technical problems where elegant solutions do not yet exist, hoping to bring a product to market that is fundamentally innovative. While in "heads down" mode, however, it's easy to ignore market sizing. Many developer productivity founders do not sit down to make initial estimates of their addressable market until after the technology has already been built:</p>
<blockquote>
<p><strong>2020 is all about product-market fit.</strong> The last year and a half, we built a platform that solves a hard technical problem. Now we've come out of stealth. The question is — <strong>is this a market for 5 or 5,000? Is it 5 or 10 years out?</strong> — Founder, Data Science Startup</p>
</blockquote>
<blockquote>
<p><strong>We are doubling down on product-market fit.</strong> We need to figure out who buys our tool, what their characteristics are, and how to find more of them. — Executive, Developer Tools Startup</p>
</blockquote>
<p>Successfully growing a developer productivity startup from the seed stage onward involves more than simply "knowing" what your market is. More than that, it requires forging a path from the laptops of your engineering team to the credit cards of potential users, teams, and organizations. "How to distribute" is not necessarily the same question as "how to sell," a question which confounds many developer productivity companies. This slight variation of product-market fit, which we call <strong>product-go-to-market fit</strong>, is tricky for developer productivity startups, who often achieve significant adoption of their tools well before revenue catches up, similar to many consumer startups.</p>
<p>As technically-oriented companies founded by technically-oriented people, developer productivity companies struggle with marketing, positioning, and sales, which are rarely their strong suits. For example, early teams often lack someone with product marketing or sales expertise, leading to ambiguity and uncertainty around how to initially frame the product or company:</p>
<blockquote>
<p>We need to nail down our positioning from a marketing standpoint. <strong>We were founded by 2 ex-engineers, and we haven't had a marketing person this whole time.</strong> What is our positioning? How do we present that in an effective way? — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>Many companies have aligned themselves to burgeoning trends they've presciently identified, but invariably they arrive at a solution in advance of most market demand. This puts many in the difficult spot of deciding both how to bridge the gap to where real flesh-and-blood customers are today and how much bridge is worth building. Oftentimes there's a significant distance between next-gen startups on the bleeding edge and old-school organizations where most of the revenue lies:</p>
<blockquote>
<p>How many people actually need real-time prediction vs just batch prediction? If they aren't yet ready for real-time, <strong>do we need to start by providing them stepping stones to meet them where they’re at?</strong> — Founder, Data Science Startup</p>
</blockquote>
<p>Part of that bridge comes in the form of product improvements that enhance the applicability of the product to real customer use cases. One founder framed this as "product geometry":</p>
<blockquote>
<p>What we've built is a relatively new concept for people. <strong>But we have to make sure that the product geometry maps well to actual customers needs for enough people.</strong> — Founder, Data Science Startup</p>
</blockquote>
<p>On the other hand, sometimes the product is fine as-is but education is required to both generate awareness and understanding of the potential value of the product or service. This doesn't always work, naturally leading to the question — <em>is it them or us?</em>:</p>
<blockquote>
<p><strong>If you talk to potential customers, there’s a lot of customer education required.</strong> If you’re trying to explain it and they’re not getting it, is that their problem or yours for not explaining it right? — Founder, Data Science Startup</p>
</blockquote>
<p>Another vector upon which to achieve product-go-to-market fit is in the business model itself. Pricing can be a meaningful barrier to adoption. If it's too expensive to get started with the product, most developers and small organizations will never bother to try it out, which can be a missed a opportunity:</p>
<blockquote>
<p><strong>We want to bring down the cost of using our technology to the point where we can give it to developers for free</strong>, especially since Amazon and others provide a free version. — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>This is not simply a matter of changing the pricing on your website. For example, if your distributed database requires a node of at least a certain size to avoid performance issues, lowering the barrier to entry for prospective customers requires modifying the product. Certain technologies, especially infrastructure running clusters or nodes in the cloud may require significant architectural changes to run on smaller instances:</p>
<blockquote>
<p><strong>Our technology is expensive to run.</strong> Our cheapest cluster is still $50+/month. We'd love to get it down to $10/month so <strong>more people can get a small slice of it instead of fewer people getting a big slice of it.</strong> — Executive, Application Infrastructure Startup</p>
</blockquote>
<h2>Priority #2: Sow first, reap later</h2>
<p>Developer productivity startups execute a very clear one-two punch — plant and nurture the seeds of grassroots adoption first, harvest revenue second. In other words, if they use it, they will (eventually) pay for it (or so the theory goes):</p>
<blockquote>
<p>Our number one goal is to increase end user adoption. Our second goal is revenue. <strong>We believe that if they try our product, they will spend for it eventually</strong>. — Executive, Developer Tools Startup</p>
</blockquote>
<p>Oftentimes, the first step is achieved via an organic open core model where core functionality is made available in the open source edition of the product, with extra team and enterprise-focused features available as closed source or open source activated via license key. Broadening open source adoption becomes a singular goal for many:</p>
<blockquote>
<p>Our mission is straightforward — <strong>we want to 10x our open source community</strong>. — Founder, Data Science Startup</p>
</blockquote>
<blockquote>
<p><strong>We want to make [our open source technology] a huge success</strong>. We want to grow the open source community. — Founder, Application Infrastructure Startup</p>
</blockquote>
<p>Self-service is the key to bottoms-up adoption. Developers want to get up to speed as quickly as possible with minimal friction. They need to see value immediately and feel like they are in control. Typically, this means having the ability to spin up a small instance or process on their laptop via command-line interface (CLI) or other tool:</p>
<blockquote>
<p><strong>We need more bottoms-up adoption from developers.</strong> Building capabilities for developers to spin up their own instances is key. — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>But the "<em>if they use it, they will pay for it</em>" logic does not always play out. Sometimes, bottoms-up adoption works well for the free version of a tool but <em>doesn't</em> work so well for the paid version. It's not uncommon to see technologies, especially those that are open source, struggle to convert adoption into paid usage. And when users do want to pay for more features, developer productivity startups quickly find out its much harder to onboard paid clients who now have higher expectations, need more hand-holding, and require service-level agreements (SLAs). This makes paying customers much more difficult to adequately serve than open source users who can simply download and go:</p>
<blockquote>
<p>We have tons of interest in our beta. We want to move them from beta users to paid customers. <strong>We need to figure out a better way to onboard clients to make us more efficient and scalable</strong>. — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<blockquote>
<p><strong>Every account is very manual right now.</strong> We're very much a "white glove" service. — Manager, Application Infrastructure Startup</p>
</blockquote>
<p>One might expect ambitious growth plans to temper in the face of the COVID-19 pandemic. Interestingly, most of the startups we spoke with have seen little measurable impact from COVID-19. Most are beginning from a small starting point with little to lose, meaning that everything is effectively upside. Yes, the pandemic is certainly generated waves, but these early-stage vendors manage to stay largely under the surf:</p>
<blockquote>
<p><strong>We’re not big enough for COVID to affect us.</strong> We're starting from zero, so all growth is significant. All clients are growth for us. — Executive, Data Science Startup</p>
</blockquote>
<blockquote>
<p><strong>We haven’t really been affected by COVID at all.</strong> Some consumer and travel customers have had to pull out or pause. Otherwise, no issues from COVID. — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>As companies targeting developers, who are more accustomed to working remote, developer productivity companies have not seen much disruption in buying or usage patterns. In some cases, COVID-19 has actually served as a tailwind, with work from home generating a need for better, more robust tools that individuals and small teams can use independently to get productive work done:</p>
<blockquote>
<p><strong>If anything it’s helped us.</strong> People are home doing data science and they need right tools. — Executive, Data Science Startup</p>
</blockquote>
<h2>Priority #3: Customers must succeed... or we will fail</h2>
<blockquote>
<p>We’re starting to move to a phase of our business where customer success is increasingly important. — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>Moving fast and breaking things makes sense in the earliest phases of development when shipping product out the door takes precedence, but early design decisions eventually catch up with you. The best things move quickly in the early days to achieve a minimum viable product that serves the more obvious use cases but pivot at some point to cleaning up the mess they made:</p>
<blockquote>
<p><strong>We started by shipping a lot of things really quickly, but what we shipped was buggy and broke a lot of design conventions</strong>. We’re working on re-skinning it, improving accessibility, etc. <strong>Fit and finish. Polish</strong>. — Manager, Developer Tools Startup</p>
</blockquote>
<p>Here again, education comes up as important process getting users up to speed and reducing time-to-value. Ironically, developer productivity tools, especially on the infrastructure side, can be complex and difficult to learn, emphasizing the importance of high-quality documentation and customer support.</p>
<blockquote>
<p><strong>Improving the user experience is a priority.</strong> The process of signing up, using the product, all the different use cases. Our product is difficult and complex to learn. <strong>We need to make it easier.</strong> — Executive, Developer Tools Startup</p>
</blockquote>
<p>Eventually, once the product is in good shape and serving initial use cases well, the focus shifts to customer success and retention. This often involves solving for issues that do not necessarily arise in casual usage but do crop up in large-scale production environments or other serious use cases. Sophisticated customers have little patience for a tool that fails when it counts most:</p>
<blockquote>
<p>For the first few years, it was about getting our first use cases. Does it demo well? Can it survive contrived failure scenarios? <strong>Now that we have a lot of customers, we focus on retention.</strong> — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>Customer success means serving all stakeholders well. This means both individual contributors and managers, the front office and back office, and so on. For example, infrastructure companies must appease not only the principal architect tasked with conceiving the target architecture that will then be implemented, but the individual developers themselves who will either implementing or maintaining the technology on an ongoing basis:</p>
<blockquote>
<p><strong>We need to make our technology more developer friendly.</strong> Infrastructure architects love us, but once the architects make that decision, <strong>they need people to build that vision</strong>. — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>As developer productivity startups move up-market, customers demand more enterprise-grade features. Developer productivity becomes <em>organizational productivity</em>. In this sense, customer success becomes a source of product development feedback, informing the roadmap and guiding vendors toward new revenue opportunities and larger deals:</p>
<blockquote>
<p><strong>Our customers need to be able to plug our technology into the rest of their enterprise stack.</strong> Single sign on, lightweight directory protocol (LDAP), etc. We call this enterprise "ruggedization." — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>In addition to enterprise features, developer productivity startups must plug into a number of popular developer and collaboration tools already in place in many of the organizations they wish to penetrate. Integrations to Slack, Atlassian, Git, and other tools becomes "table stakes" — practically required to see wide adoption given how embedded these other tools are in the workflows of most developers:</p>
<blockquote>
<p>We want to deepen our integrations. Jenkins, GitHub, Atlassian, GitLab, Microsoft. <strong>We want first-class plugins.</strong> — Executive, Application Security Startup</p>
</blockquote>
<h2>Conclusion</h2>
<p>As with most startups, developer productivity companies must adapt to an evolving strategic context as they scale and mature. What worked in stealth might not work after public launch; what passed muster as a scraggly startup selling to other startups might not cut it for buttoned-down enterprise clients.</p>
<p>This strategic evolution comes in three broad phases:</p>
<ul>
<li><strong>First</strong>, developer productivity startups map out and blaze a trail from the source code to the credit card numbers of user and buyers at target organizations</li>
<li><strong>Second</strong>, having identified fertile soil, they seed the market via organic adoption, making bets that will hopefully bear fruit the form of revenue in the coming month and years</li>
<li><strong>Third</strong> and last, the best developer productivity companies ensure their fledgling customers do not die on the vine but rather grow their usage and expand their contracts over time</li>
</ul>
<p>Successful execution of this three part plan lays a strong foundation for developer productivity companies to thrive and survive in the face of strategic threats (the public cloud casts a long shadow) or economic disruption.</p>
<p>Be informed of our next and final publication in this series, the <strong>biggest challenges and pain points of developer productivity companies</strong>, by entering your email below:</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Six Trends Shaping Developer Productivity]]>
                        </title>
                        <description>
                            <![CDATA[We interviewed developer productivity leaders. Here's what they said.]]>
                        </description>
                        <link>https://whoisnnamdi.com/developer-productivity-trends/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/developer-productivity-trends/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 14 Jul 2020 19:20:44 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512207729-image-20200714021923342.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Developer productivity is undergoing a tectonic shift. New software development paradigms and tooling have accelerated the pace and productivity of modern software teams, quickening the "shipping speed" of new software.</p>
<p>To dissect these trends, my good friend and colleague, <a href="https://www.linkedin.com/in/clio-smurro-31967b9/">Clio Smurro</a>, and I interviewed founders and executives at next-generation software and infrastructure startups pushing the developer productivity frontier to get their thoughts and insights. They shared their views on:</p>
<ul>
<li><strong>major industry trends (you are here)</strong>,</li>
<li><a href="https://whoisnnamdi.com/developer-productivity-strategic-priorities/">top strategic priorities</a>, and</li>
<li><a href="https://whoisnnamdi.com/developer-productivity-challenges/">biggest challenges and pain points</a></li>
</ul>
<p>In this first chapter, we share our findings on the important trends shaping developer productivity, including:</p>
<ul>
<li>Trend #1: <a href="https://whoisnnamdi.com/developer-productivity-trends/#trend-1-developers-have-the-power-and-the-purse">Developers have the power... and the purse</a></li>
<li>Trend #2: <a href="https://whoisnnamdi.com/developer-productivity-trends/#trend-2-application-security-is-shifting-left">Application security is "shifting left"</a></li>
<li>Trend #3: <a href="https://whoisnnamdi.com/developer-productivity-trends/#trend-3-the-distributed-cloud-is-having-its-covid-moment">The distributed cloud is having its COVID moment</a></li>
<li>Trend #4: <a href="https://whoisnnamdi.com/developer-productivity-trends/#trend-4-remote-software-development-is-here-to-stay">Remote software development is here to stay</a></li>
<li>Trend #5: <a href="https://whoisnnamdi.com/developer-productivity-trends/#trend-5-the-growth-of-python-spark-and-big-data">The growth of Python, Spark, and Big Data</a></li>
<li>Trend #6: <a href="https://whoisnnamdi.com/developer-productivity-trends/#trend-6-transfer-learning-from-devops-to-data-science-and-data-engineering">Transfer learning from DevOps to data science and data engineering</a></li>
</ul>
<p>Want to be notified when we publish part two of our findings? Subscribe below, and we'll also send you a nicely formatted PDF of our research!</p>
<h2>Trend #1: Developers have the power... and the purse</h2>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/dev-power.png" alt=""></p>
<blockquote>
<p>"<strong>Buying products that save developer time is no longer an argument you need to explain</strong>. People get it." — Executive, Developer Tools Startup</p>
</blockquote>
<p>Software engineers continue to be a scarce resource in most organizations. Companies are increasingly focused on enhancing the productivity of developers. In doing so, power and autonomy flow to developers, and the dollars are quick to follow.</p>
<p>Vendors are reflecting this new reality in their go-to-market positioning and sales efforts:</p>
<blockquote>
<p>"In our sales conversation, <strong>we frame things in terms of productivity and developer time saved</strong>... You're comparing the cost of the product against engineering time saved." — Executive, Developer Tools Startup</p>
</blockquote>
<p>Even before sales gets involved, developers are adopting software they need to get their work done on their own, often without the involvement or permission of procurement or upper management. Developers know what they want, the tools they love, and the technologies that enable their ideal architectures and designs.</p>
<blockquote>
<p>"<strong>We're seeing lots of self-serve.</strong> Developers are getting more autonomy as buyers. <strong>Most of our sign-ups are via bottoms-up</strong> — people signing themselves up, after which our sales team eventually reaches out to them." — Executive, Developer Tools Startup</p>
</blockquote>
<p>Unlike many other domains of enterprise software, where features are built to appease higher and higher levels of management rather than end users themselves, the core developer experience remains hugely important. If anything, analogous trends in observability and monitoring are developing in a symbiotic rather than antagonistic fashion with developer productivity.</p>
<p>As engineering teams scale, the need for agile workflows becomes apparent, drawing many toward the burgeoning DevOps paradigm and its associated ecosystem of tools. DevOps enables ongoing operation of and rapid iteration on software via Git-based version control, continuous integration, continuous deployment, security testing, and more.</p>
<blockquote>
<p>"DevOps hasn’t been around for long, but more companies are realizing the need/value for it." — Developer Advocate, Application Infrastructure Startup</p>
</blockquote>
<p>To the extent that vendors are attempting to appease management, they are doing so by building unified product ecosystems. These enable customers to purchase multiple component tools of the overall software development lifecycle in a single package. While these do carry some benefits for end users, most still prefer to purchase the best solution for each task, again reflecting in influence and clout of individual software developers:</p>
<blockquote>
<p>"GitHub, Atlassian, Microsoft... <strong>They’re trying to get everyone to adopt a unified tool system.</strong> But most people still go with best-of-breed, as far as tools go. The idea though is that some people will eventually go with more of a “you can’t get fired for buying IBM” approach, where you buy everything from a single vendor." — Executive, Application Security Startup</p>
</blockquote>
<h2>Trend #2: Application security is "shifting left"</h2>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/app-sec-left.png" alt=""></p>
<p>In past eras, application security was oftentimes dealt with after the fact. Software would be largely complete by the time security analysts had a chance to examine and poke holes in its defenses. In main cases, this might not even happen until after code is already running in production, where any vulnerabilities may have already been exploited by nefarious actors:</p>
<blockquote>
<p>"Once the code is built, the artifact goes into a registry. The security team wants to know...<strong>what are the risks? Is this meeting my policies?</strong>" — Executive, Application Security Startup</p>
</blockquote>
<p>No longer. Application security is now a tier one priority in many organizations:</p>
<blockquote>
<p>"Security used to be an afterthought. In the past, someone would write code, someone would deploy code, and then someone else would handle security. <strong>That boundary doesn’t exist anymore.</strong>" — Executive, Developer Tools Startup</p>
</blockquote>
<p>Spurred by the rash of high-profile security incidents and gaffes at major corporations around the world, organizations are challenging their development teams to take on more of the security burden upfront, well before software is even ready for production or artifacts have been built. "DevSecOps" is born:</p>
<blockquote>
<p>"<strong>Shifting left means move everything towards the developer.</strong> It doesn't have to be a security person's responsibility to ensure secrets are secure — the developer can do this now too. The more tooling you give, earlier on in the process of writing the application, the easier this is." — Director, Developer Tools Startup</p>
</blockquote>
<p>Security vendors continue to sell mostly to security teams but realize their tools are increasingly landing directly in the hands of developers themselves:</p>
<blockquote>
<p>"We don't sell to developers, we sell to security teams...but at the end of the day, <strong>it’s the developers who need to take more upfront responsibility for security.</strong>" — Executive, Application Security Startup</p>
</blockquote>
<p>It's easy to think these new tools are only valuable to large enterprises paranoid about breaches, hacks, and other threats to application security. Not true, say some of the security leaders we spoke to, who emphasized that the heightened focus on security is reverberating through the software development industry, at both large organization and small:</p>
<blockquote>
<p>"These security initiatives are not just for big companies...<strong>every company needs them</strong>." — Executive, Developer Tools Startup</p>
</blockquote>
<p>Then there's the concept of "low trust" or even "no trust", where applications do not give each other the benefit of the doubt and every app must prove its credentials in order to send and receive requests and data from other apps and microservices. This adds new complexity to software development, heightening the important of thinking through security implications early on in development:</p>
<blockquote>
<p>"In low trust or no trust environments, how do you make sure applications can talk to each other?" — Executive, Developer Tools Startup</p>
</blockquote>
<p>These complexities are inevitable, but vendors also know there are limits to developer patience. They are keen to insert security tooling into workflows as seamlessly as possible. Usability drives usage — if a tool is to difficult to use or increases cycle times too dramatically, developers won't use it, defeating the purpose entirely:</p>
<blockquote>
<p>"DevOps folks are often not security experts. <strong>They’re looking for usability.</strong> How easy is this to access? Does it fit in our existing workflows? Can it plug into <a href="https://www.jenkins.io/">Jenkins</a>? I don't want my developers having to use a new tool." — Executive, Application Security Startup</p>
</blockquote>
<p>As development and security increasingly merge, buying patterns and processes will incorporate the needs of both stakeholders, and vendors will need to adjust their tactics appropriately:</p>
<blockquote>
<p>"<strong>DevOps needs to like it, SecOps needs to buy it</strong>. Both are involved in the purchase process." — Executive, Application Security Startup</p>
</blockquote>
<h2>Trend #3: The distributed cloud is having its COVID moment</h2>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/distributed-cloud.png" alt=""></p>
<p>Demand for distributed computing is growing and that demand has only surged in the COVID era.</p>
<blockquote>
<p>"<strong>COVID has caused a 2-3 year acceleration in everyone's journey to the cloud.</strong> The companies who have survived and thrived are the ones which evolved sooner." — Executive, Developer Tools Startup</p>
</blockquote>
<p>Elastic scaling of compute, storage, and other resources is important in a divergent set of scenarios. Some businesses (Zoom, Fastly, Amazon, Instacart, etc.) have seen demand for their services surge, requiring rapid scale up of existing deployments, assisted by prescient decisions to factor applications into microservices.</p>
<p>On the other hand, certain companies have seen business dry up overnight. This makes the ability to scale down equally important, allowing costs to flex proportionately with revenue:</p>
<blockquote>
<p>"Do only what's needed. That's key for dynamic shifts in needs. <strong>You need to design software for scaling up, but the infrastructure also needs to be able to scale down</strong>." — Executive, Developer Tools Startup</p>
</blockquote>
<p>But what if your business runs on legacy applications or infrastructure technologies? You're in a much tougher position, which is prompting many organizations to ask the question — can you accelerate developer productivity within legacy application development?</p>
<blockquote>
<p>There's a lot of legacy .NET applications from 10 years ago that weren't originally built with containers. Organizations want to get those into containers. A question people are asking — <strong>can you get developer productivity with legacy applications too?</strong> — Executive, Application Security Startup</p>
</blockquote>
<p>Increasingly, the answer is — yes. Legacy applications are being refactored from monolithic to microservices-based architectures, leveraging the power of containers and other associated advancements:</p>
<blockquote>
<p>"We are seeing a movement from cloud "greenfield", only using the cloud for new applications, to "lift and shift", getting legacy applications into containers and into the cloud. We've started working with Windows-based containers." — Executive, Application Security Startup</p>
</blockquote>
<p>While old-school organizations and engineering teams play catch up, next-gen startups and technology companies aren't waiting around.</p>
<blockquote>
<p>"<strong>The biggest trend right now is the move to serverless</strong> — functions as a service, hiding more complexity from developers. Serverless is a way for developers to just focus on stateless applications, to just focus on what they use most directly." — Executive, Application Infrastructure Startup</p>
</blockquote>
<p>Serverless has emerged as a major trend. Leveraging the "infinite" scalability of the major cloud providers, serverless promises to decompose applications into a series of function calls — without regard to the underlying infrastructure.</p>
<p>While the cloud providers have always had a clear incentive to push such a regime, it seems like development teams themselves are warming up to the idea, thought it's full realization is still years away:</p>
<blockquote>
<p>"At our company, we talk about nodes and clusters today. We think of elastic pools of storage and compute that you can just use. But, <strong>a few years from now, we won't even be worried about literal nodes and clusters</strong>." — Executive, Application Infrastructure Startup</p>
</blockquote>
<h2>Trend #4: Remote software development is here to stay</h2>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/remote-development.png" alt=""></p>
<p>In conducting our interviews, we were struck at how little COVID had affected the productivity of most software development teams. Perhaps we had a biased sample (we mostly spoke with startups), but the near-universal response was that the move to mandatory remote work had been relatively smooth. Many already had significant portions of their development teams working remotely, which helped to ease the transition.</p>
<p>Further, many had seen little disruption in their go-to-market efforts, given their focus on selling to developers who had themselves seen little interruption in their work.</p>
<p>If it is true that at least some teams and organizations can be nearly as productive working remotely as in-person, we may see some aspects of this new work paradigm stick around long after COVID subsides.</p>
<blockquote>
<p>"The shift to working remote is happening... It's month three of the new normal, and I think <strong>there will be long-term changes as a result of this</strong>." — Executive, Developer Tools Startup</p>
</blockquote>
<p>Software developers who enjoy this new style of work may have other reasons to rejoice too. <a href="https://whoisnnamdi.com/remote-software-developers-earn-more/">As I've previously written about</a>, developers who work remotely earn up to 22% more than developers who don't. Of course, as with many aspects of a <em>forced</em> transition to remote work, it's not clear whether this result applies when organizations had no choice about the move.</p>
<h2>Trend #5: The growth of Python, Spark, and Big Data</h2>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/python-spark-big-data-growth.png" alt=""></p>
<blockquote>
<p>"From our perspective, <strong>Python is winning</strong>, and we see that trend continuing." — Executive, Data Science Startup</p>
</blockquote>
<p>Teams love Python for its ease-of-use and rapid time-to-value even for relatively non-technical individuals, who can quickly get up to speed with the language and generate value output:</p>
<blockquote>
<p>"<strong>It’s easy to learn….people can learn it in 8 weeks and then be useful in a Fortune 1000 company</strong>." — Executive, Data Science Startup</p>
</blockquote>
<p>In addition to its user-friendliness, Python is revered for its ecosystem of packages for tackling difficult data science challenges and processing large data sets.</p>
<p>Speaking of large data sets, after much hype and suspense, Big Data has finally arrived and is a major driver of Python's massive popularity:</p>
<blockquote>
<p>"Big Data is not just trendy anymore, but <strong>it’s actually happening now</strong>. Not like 5 years ago when it was first hyped." — Executive, Data Science Startup</p>
</blockquote>
<p>These large datasets are increasingly shifting to the cloud, where various storage offerings from S3 to Snowflake and more have proliferated, offering no shortage of options at competitive prices for various performance levels and data access frequencies. Leaders agree that Python is the preeminent language for handling data in the cloud:</p>
<blockquote>
<p>"We are seeing a shift to the cloud, and <strong>Python is dominant for data in the cloud</strong>." — Executive, Data Science Startup</p>
</blockquote>
<p>However, having been conceived well before the microservices revolution or the cloud generally, Python out-of-the-box does not come with much distributed computing functionality, though multiple vendors and technologies have arisen in recent years to cover this gap (<a href="https://dask.org/">Dask</a>, <a href="https://ray.io/">Ray</a>, etc.):</p>
<blockquote>
<p>"Python... is the fastest growing language and very popular, but <strong>Python has no distributed functionality</strong>." — Founder, Application Infrastructure Startup</p>
</blockquote>
<p>Have no fear though, <a href="https://spark.apache.org/">Spark</a> is here!</p>
<p>Spark bills itself as "a unified analytics engine for large-scale data processing", which in layman's terms mean it's very, very fast — fast enough to handle large datasets at high throughput. Spark is built from the ground up with distributed computing in mind, enabling it to take advantage of the advancements in cloud computing we discussed above. Spark also offers a number of high-level operators that enable interoperability with more popular languages like Python, SQL, Java and more.</p>
<blockquote>
<p>"Big data development cycles used to take forever, not fast enough for software developers. <strong>Spark has meaningfully sped up the cycles</strong>." — Founder, Data Science Startup</p>
</blockquote>
<h2>Trend #6: Transfer learning from DevOps to data science and data engineering</h2>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/devops-dataops-mlops.png" alt=""></p>
<p>Historically, data science has not had the emphasis on fast iteration and development cycles that DevOps has had. When merged with traditional software engineering, this is less of a problem. But as data science as a practice gains clout, data science professionals are being carved out into their own teams. While this comes with certain benefits, it often comes at the cost of speed:</p>
<blockquote>
<p>"Data science is now being carved out of development teams, and the data-related development cycles have elongated." — Founder, Data Science Startup</p>
</blockquote>
<p>Additionally, data science is only becoming more complex. Data engineering has emerged as a key component of the overall data science lifecycle and, while less sexy than building and training the latest deep learning models, is often the phase that takes the longest in any given project. Many consider it to be an entirely different skill set from core data science. ETL (Extract, Transform, Load) tooling is just one example:</p>
<blockquote>
<p>"Let's look at the problem of managing ETL pipelines. There are actually two pieces — the ETL pipeline that transforms the data, and the pipeline that manages the ETL pipeline itself." — Executive, Data Science Startup</p>
</blockquote>
<p>DataOps and MLOps are the response to these complexities and speed bumps, bringing best practices from DevOps to the realm of data science and machine learning:</p>
<blockquote>
<p>"DataOps and MLOps bring DevOps principles such as agile development to data and machine learning." — Founder, Data Science Startup</p>
</blockquote>
<p>Instead of being crushed under the weight of increasingly intractable datasets and data engineering puzzles, DataOps and MLOps help data scientists and engineers better wrangle the data development process itself and achieve business outcomes with the same agility as traditional software development:</p>
<blockquote>
<p>"We're big on DevOps and the empowerment of the data scientist and data engineer. <strong>They should have control over the end-to-end process.</strong> Whoever is the creator is also the person who’s responsible for the ongoing success of the artifact." — Executive, Data Science Startup</p>
</blockquote>
<p>DataOps and MLOps are opening new possibilities for data and model version control, machine learning feature engineering and storage, and more. Think unit or regression tests, except for datasets and machine learning models:</p>
<blockquote>
<p>"In GitOps, the continuous integration / continuous delivery / continuous deployment pipeline checks the code and deploys the application to a staging environment, eventually ending up in production. Most tech-forward companies have adopted that now. <strong>We want to bring that to the data scientist</strong>." — Founder, Data Science Startup</p>
</blockquote>
<p>The grand vision? Driving efficiencies that will enable teams and organizations to keep up with the growth of Big Data:</p>
<blockquote>
<p>"<strong>The trend toward DataOps will be big.</strong> It'll make organizations more efficient." — Executive, Data Science Startup</p>
</blockquote>
<h2>Conclusion</h2>
<p>Developers are increasingly considered one of the most important constituencies within organizations. Organizations both old and young are generating and consuming greater amounts of software, and developers remain the basic economic unit of software production.</p>
<p>As the scarce input of the software production function, software engineers don't come cheap, and it's therefore critical to maximize their productivity and output. As software grows only more powerful, valuable, and essential, anything that makes software engineers more productive will be similarly potent and relevant.</p>
<p>Be informed of our next publication in this series, the <strong>top strategic priorities of developer productivity companies</strong>, by entering your email below:</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Why Don't VCs Index Invest?]]>
                        </title>
                        <description>
                            <![CDATA[VCs are picky, not because they have so many options but because they have so few.]]>
                        </description>
                        <link>https://whoisnnamdi.com/vcs-index-invest/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/vcs-index-invest/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Fri, 03 Jul 2020 16:54:02 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512204223-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Math and data say early-stage VCs should <a href="https://www.investopedia.com/terms/i/index-investing.asp">index invest</a>, and late-stage investors should <a href="https://www.investopedia.com/terms/s/stockpick.asp">stock pick</a>.</p>
<p><em>Yet they do the opposite.</em></p>
<p>The reason is counterintuitive: VCs are picky, not because they have so many options but <strong>because they have so few</strong>.</p>
<h2>More deals, better performance</h2>
<p>Theoretical modeling and empirical data both suggest that early-stage VCs do better when they spread the wealth wider.</p>
<p>Let's start with the theory.</p>
<p>First, we need to define the <a href="http://reactionwheel.net/2015/06/power-laws-in-venture.html">power law distribution</a>:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/640px-Long_tail.svg.png" alt="640px-Long_tail.svg">
<em>Source: Wikipedia</em></p>
<p>A power law distribution is one where large, consequential events (the Googles, Amazons, and Facebooks of the venture world) are rare but much more common than you might expect if the world were <a href="https://en.wikipedia.org/wiki/Normal_distribution">normally distributed</a>.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/normal-v-pld-tail.png" alt="https://i0.wp.com/reactionwheel.net/wp-content/uploads/2015/06/normal-v-pld-tail.png?resize=606%2C287">
<em>Source: Reaction Wheel</em></p>
<p>These events happen with some frequency, and that frequency can be characterized by a "shape" or "tail parameter" that governs the "fatness" of the tail, typically represented by the symbol <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-1-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>.</p>
<p>The smaller <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-2-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>, the "fatter" the tail of the power law distribution. The fatter the tail, the higher the frequency and size of outlier startups.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/pld-tails.png" alt="https://i2.wp.com/reactionwheel.net/wp-content/uploads/2015/06/pld-tails.png?resize=611%2C287">
<em>Source: Reaction Wheel</em></p>
<p>If <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-3-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container> is sufficiently small, strange things begin to happen. With a small enough <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="1.448ex" height="1.025ex" role="img" focusable="false" viewBox="0 -442 640 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D6FC" d="M34 156Q34 270 120 356T309 442Q379 442 421 402T478 304Q484 275 485 237V208Q534 282 560 374Q564 388 566 390T582 393Q603 393 603 385Q603 376 594 346T558 261T497 161L486 147L487 123Q489 67 495 47T514 26Q528 28 540 37T557 60Q559 67 562 68T577 70Q597 70 597 62Q597 56 591 43Q579 19 556 5T512 -10H505Q438 -10 414 62L411 69L400 61Q390 53 370 41T325 18T267 -2T203 -11Q124 -11 79 39T34 156ZM208 26Q257 26 306 47T379 90L403 112Q401 255 396 290Q382 405 304 405Q235 405 183 332Q156 292 139 224T121 120Q121 71 146 49T208 26Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D6FC" xlink:href="#MJX-4-TEX-I-1D6FC"></use></g></g></g></svg></mjx-container>, <strong>making investments nearly at random will increase a portfolio's expected return</strong>.</p>
<p>The exact mathematical reasons for this are <a href="https://arxiv.org/abs/2001.10488">somewhat esoteric</a>, but intuitively, if there are enough potential Googles, Amazons, and Facebooks out there, they will more than cover the losses from the duds thanks to the shape of the power law distribution. When fat tails dominate returns it's not worth having an extremely high bar if it might cause you to miss out on one of these future juggernauts.</p>
<p>VCs often talk about power laws, but few have sufficient data to rigorously demonstrate them. However, <a href="https://angel.co/">AngelList</a> does, and their head data scientist, Abe Othman, has <a href="https://angel.co/blog/venture-returns">done the work</a> to analyze returns from the thousands of deals syndicated by AngelList, finding that:</p>
<blockquote>
<p>... <strong>the regret an investor could have for missing a winning seed-stage investment is theoretically infinite</strong>, a phenomenon that does not appear to hold for later-stage investments. The implication is that <strong>investors increase their expected return by indexing as broadly as possible at the seed stage</strong> (i.e., by putting money into every credible deal), because <strong>any selective policy for seed-stage investing—absent perfect foresight—will eventually be outperformed by an indexing approach</strong>.</p>
</blockquote>
<p>By creating power law-based mathematical model, fitting it to the AngelList returns data, and simulating 50,000 portfolios with 10 early-stage companies each, he created the following synthetic distribution of venture capital returns:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/chart_2.png" alt="Distribution of hypothetical manager returns showing the market return outperforms">
<em>Source: AngelList</em></p>
<p>The vertical black line represents the <em>market return</em>: the return you'd earn if you invested an equal amount in every AngelList deal in the sample (of which there were 1,808). Notice the long tail trailing off to the right side of the chart. In a world where most barely return their fund, some shower their LPs with 5x returns. <strong>Notice how most 10-company portfolios underperform the simple (1,808-company) strategy.</strong></p>
<p>Technically, this is still a theoretical result. Yes, the model was fit to real data, but the outputs are still simulated. Now let's look at real data.</p>
<p>Here again we turn to AngelList, who analyze the relationship between portfolio size and performance among 10,000+ investors on the platform. They grouped the investors by number of companies in their portfolio and plotted the median return for each group. The chart confirms the theoretical results - larger portfolios generate greater returns:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/H5qNMNZPFO.png" alt="img">
<em>Source: AngelList</em></p>
<blockquote>
<p>The coefficient of the regression term is 9.0 <a href="https://www.investopedia.com/terms/b/basispoint.asp">basis points</a>... implying that <strong>the typical annual return of a portfolio of 100 investments is almost 9% higher than the typical annual return of a portfolio with a single investment</strong>.</p>
</blockquote>
<p>Note these are median returns, so they don't reflect a handful of 100-count portfolios simply getting lucky and pulling up the average. <strong>Financial upside is easier to come by when you're exposed to a larger patch of the startup landscape.</strong></p>
<p>Theory and data agree - most early-stage venture investors would do better by indexing, investing a small amount in every reasonable startup they can find:</p>
<blockquote>
<p>Simulations on 10-year investing windows for seed-stage deals suggest <strong>fewer than 10% of investors will beat the index</strong>, even if those investors have skill in picking deals. Like Vanguard has taught us in the public markets, <strong>individual investors could benefit from viewing the index as the default</strong> and then overlaying individual deals that they like.</p>
</blockquote>
<h2>1/N</h2>
<p>Behavioral finance theorists have a name for this strategy: <a href="https://www.macroresilience.com/2010/07/08/heuristics-and-robustness-in-asset-allocation/">the 1/N heuristic</a>.</p>
<p>It goes like this: take every investable asset of a group of N assets and invest 1/Nth of your capital in each one, with no regard to the fundamentals, mean return, or volatility of returns.</p>
<p>This might sound like a dumb, simplistic strategy. While it's certainly simple, it's definitely not dumb.</p>
<p>Ironically, 1990 Nobel Laureate and famed inventor of mean-variance portfolio optimization, Harry Markowitz, reportedly used this exact heuristic for investing his own money, eschewing his own complicated theory in favor of a simpler approach:</p>
<blockquote>
<p>I should have computed the historical covariance of the asset classes and drawn an efficient frontier…I split my contributions 50/50 between bonds and equities. - <a href="https://alphaarchitect.com/2014/10/17/harry-markowitz-an-equal-weight-investor/">Harry Markowitz</a></p>
</blockquote>
<p><img src="https://whoisnnamdi.com/content/images/2020/07/image-20200624134947087.png" alt="image-20200624134947087">
<em>Source: Your Money and Your Brain</em></p>
<p>In fact, <a href="http://faculty.london.edu/avmiguel/DeMiguel-Garlappi-Uppal-RFS.pdf">one study</a> found that the 1/N strategy dominates numerous others:</p>
<blockquote>
<p>Of the 14 models we evaluate across seven empirical datasets, <strong>none is consistently better than the 1/N rule</strong> in terms of Sharpe ratio, certainty-equivalent return, or turnover, which indicates that, out of sample, <strong>the gain from optimal diversification is more than offset by estimation error</strong>...  That is, the effect of estimation error is so large that <strong>it erodes completely the gains from optimal diversification</strong>.</p>
</blockquote>
<p>Which is a fancy way of saying "<em>don't overcomplicate it.</em>"</p>
<p>A <em>slightly</em> more sophisticated reading of the results might be, "<em>unless you are <strong>very</strong> sure about the structure of the world, don't overcomplicate your investing strategy.</em>"</p>
<p>The study found a negative return to overthinking and overfitting yourself to the past data, to what you <em>think</em> you know about these assets. In venture, similar overintellectualization has been the root cause of numerous "misses" over the years - career, fund, and firm-defining deals that put certain VCs on the map and left others in desperate obscurity.</p>
<p>In some <em>subtle</em> way, trying to pick the exact right startup based on a complex model of the world is like trying to buy a certain lottery ticket with a certain serial number because you think it's a "lucky ticket." One <em>seems</em> much more superstitious, but are they closer than they appear?</p>
<h2>How the other half lives</h2>
<p>Late stage investors on the other hand, <em>can</em> afford to stock pick:</p>
<blockquote>
<p>... our results also suggest that the opportunity cost for missing a winning investment in these later rounds is bounded... Consequently, <strong>it is entirely appropriate that later-stage investors should reject the “spray and pray” idea and be thoughtful and discerning when they participate</strong>...</p>
</blockquote>
<p>Translation: late-stage deals have lower opportunity cost than early-stage investments, as their returns are capped much lower. To channel Jeff Bezos' <a href="https://www.youtube.com/watch?v=jwG_qR6XmDQ">regret minimization framework</a>: there isn't much regret to minimize when it comes to late-stage deals. So feel free to be picky.</p>
<p>Another take from the 1/N study:</p>
<blockquote>
<p>... we conclude that portfolio strategies from the optimizing models are expected to outperform the 1/N benchmark if: <strong>(i) the estimation window is long</strong>; (ii) the ex ante (true) Sharpe ratio of the mean-variance efficient portfolio is substantially higher than that of the 1/N portfolio; and <strong>(iii) the number of assets is small</strong>.</p>
</blockquote>
<p>In other words, it makes sense to be picky and particular when you have a large amount of data collected over a long period of time and when the number of choices is small. Both are more true of later-stage investments relative to early-stage. By definition, late-stage companies have a longer track record by which to evaluate them, and there are fewer of them. Thus, it makes sense to be a discerning capital allocator at the late-stage.</p>
<p>And yet we've seen the exact <em>opposite</em> in recent years.</p>
<p>Though few would publicly characterize themselves as such, I know of at least a few firms who have explicit goals of creating, effectively, "indices of late-stage venture" via their large portfolios. Late-stage funds are raising and deploying capital at unprecedented rates. Many appear principally focused on putting "dollars to work," rather than earning the maximum return on their capital. They've taken to heart the approach discussed earlier, investing in every company that meets some minimum threshold.</p>
<p>This has led to serious perversion at the late-stage, as there are not nearly enough investable assets to support the capital inflows at reasonable valuations. <strong>Asset values grow not simply due to improvement in fundamental startup value but also because late-stage funds need somewhere to park their money</strong>.</p>
<p>In this model, late-stage startups become "<em>capital vehicles</em>," absorbing meaningful capital and earning a "<em>capital storage</em>" premium for their efforts.</p>
<p><a href="https://blog.samaltman.com/party-rounds">Party rounds</a>, long known to greatly <a href="http://blog.eladgil.com/2010/09/party-rounds-how-to-get-high-valuation.html">inflate early-stage valuations</a>, have reached the late-stage.</p>
<p>But all parties must come to end eventually...</p>
<h2><em>Caveat emptor indexor</em></h2>
<p>So that's the theory, but there are some real practical hurdles to creating an early-stage index:</p>
<ul>
<li>Determining the right minimum threshold</li>
<li>No one sees every deal</li>
<li>Deals must be won</li>
<li>Fund and check size restrictions</li>
</ul>
<h3>How high should the bar be?</h3>
<p>AngelList recommends investing in every <em>credible</em> early-stage deal, where the word "credible" does a lot of work. They add:</p>
<blockquote>
<p>We worry that <strong>an investor promising to blindly fund every whisper of a new company would fundamentally alter the investment universe they are exposed to by introducing a huge number of new money losing investments</strong> that otherwise would not have been created but for the investor’s universal funding policy. Consequently, our results suggest that at the seed stage investors should put money into every investment that <strong>clears some minimum threshold</strong>.</p>
</blockquote>
<p>But how to set that threshold? It's not obvious.</p>
<p>There must be some bar, even if very low, otherwise you'll do a series of bad deals and get fleeced.</p>
<p><a href="https://blakemasters.com/post/21869934240/peter-thiels-cs183-startup-class-7-notes-essay">Peter Thiel</a> puts it this way:</p>
<blockquote>
<p>There just aren’t that many businesses that you can have the requisite high degree of conviction about. A better model is to invest in maybe 7 or 8 promising companies from which you think you can get a 10x return.</p>
</blockquote>
<p>Part of the reason indexing even works in say, public markets, is that there is some minimum threshold a company has to reach to even go public. Additionally, the AngelList data from which this theory comes only includes deals that got done, by definition. We don't know if the indexing strategy carries over to deals that wouldn't have otherwise got done or to companies with lower quality than the typical AngelList deal.</p>
<p>Since the AngelList data comes from deals that successfully completed, you could proxy for this by setting the bar such that you would do any deal that some other reasonable person would do.</p>
<h3>You must see the deal to do the deal</h3>
<p>You can't hit a target you can't see, and <a href="https://whoisnnamdi.com/people-matching/">you can't do a deal you can't see either</a>.</p>
<p>The AngelList recommendation assumes the investor could invest in any deal they want. If you don't have access to all the deals, this logic breaks down.</p>
<p>Unless you are a top tier fund or individual investor, the specific subset of deals you see is almost certainly poor relative to the full distribution. You are likely missing some serious outliers.</p>
<p>This is why so many VCs spend so much time burnishing their public and private reputations. <a href="https://marginalrevolution.com/marginalrevolution/2020/02/why-is-vc-twitter-so-peculiar.html">VC Twitter says hi.</a></p>
<h3>You must also win</h3>
<p>Let's say you set the right threshold and see all the deals that meet it. You still then must <a href="https://whoisnnamdi.com/people-matching/">win the deal</a>, which is far from guaranteed.</p>
<p>Further, the greater extent to which a deal exceeds any given threshold, the more competitive the deal will be. Assuming there's signal there and not simply noise, your portfolio will probabilistically skew lower quality simply due to losing out on those winners, even though you recognized them as such.</p>
<p>This completely screws up the indexing strategy, which implicitly relies on free and open access to all deals across the quality spectrum.</p>
<h3>A fund cannot be sliced into a thousand pieces</h3>
<p>Even if the above caveats don't apply, a VC still runs up against fundamental limits of the venture universe.</p>
<p>Like the <a href="https://en.wikipedia.org/wiki/Planck_length">Planck length</a> represents the smallest distance at which conventional physics applies, micro-checks become infeasible below a certain size, both for the startups themselves and the would-be index investor.</p>
<p>The complement of this is that, assuming some minimum check size, you might not be able to raise a fund large enough to write all those checks.</p>
<h2>Masters of the universe?</h2>
<p>VCs are picky, not because they have so many options but <strong>because they have so few</strong>.</p>
<p>The 1/N study tells us that stock picking makes sense when there are few options to choose from.</p>
<p>The AngelList data tells us that, in a hypothetical world of perfect access to all investments, you'd do better to spread your bets widely.</p>
<p>In other words, the picky behavior of early-stage venture capitalists in light of the data and theory around power laws can only be justified by their <em>lack</em> of options. They only have a few shots on goal and must use them wisely.</p>
<p>People often assume this pickiness comes from the fact that most startups fail, and VCs obviously want to avoid the numerous duds. <strong>But this isn't really true.</strong> Even in a world where most startups fail it can make sense to invest in many more than the typical investor does currently, as shown above.</p>
<p>Far from masters of the universe, selectively picking among desperate founders looking for funding, <strong>VCs are themselves starved of options</strong>, making them extremely cautious with the few they have.</p>
<p>In a future article, I'll extend this idea and demonstrate why it shows venture capitalists aren't funding nearly enough startups.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Value of College May Be Negative for the COVID Generation]]>
                        </title>
                        <description>
                            <![CDATA[You might think the value of a college degree has been increasing. You would be wrong.]]>
                        </description>
                        <link>https://whoisnnamdi.com/the-value-of-college/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/the-value-of-college/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 17 Jun 2020 17:26:43 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512202251-black-college-wealth.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>The value of a college degree is crashing toward zero and may even be negative for today's COVID-graduates.</p>
<p>This is the stunning implication of <a href="https://research.stlouisfed.org/publications/review/2019/10/15/is-college-still-worth-it-the-new-calculus-of-falling-returns">recent research</a> by the Federal Reserve into the precipitously falling financial returns of higher education.</p>
<p>You might be thinking — “<em>but I thought the benefit of a college degree has been increasing all this time?</em>”</p>
<p>You would be wrong, though understandably so.</p>
<p>Here’s a sketch of the basic argument:</p>
<ol>
<li>College graduates continue to earn significantly more than non-college graduates</li>
<li>However, the <em>causal</em> (key word) income effect of college has <strong>not</strong> increased and, if anything, has declined</li>
<li>Meanwhile, the cost of attending college has ballooned</li>
<li>Therefore, the wealth-generating power of a college degree has evaporated</li>
</ol>
<p>Let’s walk through these points, one by one.</p>
<h2>College graduates earn more</h2>
<p><strong>Point one</strong> represents the common (and, it should be said, <em>true</em>) belief that college graduates earn more than non-graduates. Another way of saying this is college education is <em>correlated</em> with higher income. We can compare the simple average (or median) earnings of college degree holders and non-holders. Lo and behold, one is higher than the other, therefore, correlation.</p>
<p>That’s really all there is to this point, so let’s get it out of the way first. I’ll drop this chart in here for good measure, which makes the point visually:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515749730-CleanShot-2020-05-23-at-01.21.24%402x.png" alt=""></p>
<p>In words — the median family with a bachelor degree-holding head of household earns ~100% more income than the median family without a college degree.</p>
<p>Unfortunately, this is where most mainstream analysis of higher education ends.</p>
<p>Let’s go further.</p>
<h2>A degree is only one of many factors</h2>
<p><strong>Point two</strong> is where things get interesting. As I’ve discussed in <a href="https://whoisnnamdi.com/remote-software-developers-earn-more/">prior analyses</a>, <em>correlation is not causation</em>. But that’s not very interesting. What’s interesting is exactly how much correlation is in fact causation vs. not. It turns out, college degrees do raise incomes but not as much as simple correlations like above would suggest.</p>
<p>I’ll spend some time on this point, as it’s the most important one to grasp.</p>
<p>To quote the authors of this same study:</p>
<blockquote>
<p>The choice to attend and subsequently complete college <strong>is not random or arbitrary</strong>; it is instead related to numerous financial and non-financial considerations, among them parents’ wealth, intelligence, socio-cognitive skills, race, financial acumen, and parents’ education… Although terminal college graduates and postgraduates enjoy significant income and wealth advantages over non-grads, <strong>attributing these premiums solely to the effect of college would be a mistake</strong>. (Emphasis mine)</p>
</blockquote>
<p>In general, people who choose to attend college have led different lives than those who don’t and will experience different lives after the fact, even if they make the same choice at this juncture. These pre-existing differences interact with the effect of college itself, leading to different outcomes.</p>
<p>College is not the “<a href="https://opinionator.blogs.nytimes.com/2014/03/01/college-the-great-unleveler/">great leveler</a>” it is often advertised as. Different inputs do not lead to the same output. <a href="https://en.wikipedia.org/wiki/Garbage_in,_garbage_out">GIGO</a>, meet DIDO: different input, different output.</p>
<p>What are some examples of these different inputs? One is parent’s education and financial acumen. Individuals with college educated and financially savvy parents do better than those without and are also more likely to attend in the first place. This confounds any simple analysis of the benefit of a college education, as some of that benefit comes not from college itself but from one’s parents.</p>
<p>The authors of the previously cited analysis explore this idea and conclude:</p>
<blockquote>
<p>Failing to account for parents’ education <strong>overinflated</strong> the college and post-graduate income and wealth premiums… Clearly, <strong>parents’ education and financial acumen</strong> were important variables previously omitted in estimations of the college and post-graduate premiums… Part of the effect of college would be <strong>transmitting the effect of parents’ education</strong>. (Emphasis mine)</p>
</blockquote>
<p>Said more colorfully, rather than simply being a “leveler,” college is increasingly the vehicle through which the <em>already advantaged</em> <strong>express</strong> and <strong><a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">compound</a></strong> their advantages. Mathematically, this accounts for some of the correlation I identified earlier, leaving less to be explained by true “causality” or, as the authors put it, “the true college premium.”</p>
<p>So how do we identify this “true” premium? There are multiple methods, but the most straightforward is to run a large regression of income on college attendance, controlling for all the appropriate variables that may correlate with college attendance or income. This is harder than it sounds, both because the choice of controls is subjective and because those variables might not be available to you.</p>
<p>So the author’s take a simpler approach, essentially controlling only for age. Surprisingly, that alone is enough to meaningfully reduce the supposed income benefit of college from 100% to only 50% for whites born in the 1980s:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515751059-CleanShot-2020-05-23-at-01.22.20%402x.png" alt=""></p>
<p>Two things to note here.</p>
<p>First, notice that, contrary to popular belief, the premium has <em>not</em> grown over time and has in fact slightly decreased. It is <em>not</em> the case that college is increasingly important from an income generation standpoint.</p>
<p>Second, while 50% is still large number, remember that this <em>only controlled for age</em>. There are numerous other variables that aren’t being accounted for, like parental education or income, which we know affect future earnings. Adding these in would very likely reduce the income premium even further, but these data are hard to come by.</p>
<p>As the authors put it:</p>
<blockquote>
<p>… <strong>these figures may exaggerate the true—that is, causal—college premium.</strong> Other variables, chief among them one’s parents’ education, may play a role in potential earnings and wealth accumulation… <strong>Those premiums may be upwardly biased estimates of the true income and wealth premiums.</strong> (Emphasis mine)</p>
</blockquote>
<h2>College is only getting more expensive</h2>
<p><strong>Point three</strong> like point one, is relatively uncontroversial. The real cost of college in the United States has increased meaningfully over time, as tuition growth continues to outpace overall inflation.</p>
<p>College is increasingly “priced to perfection.”</p>
<p>Again, in case there are any doubts, here’s some data showing the growth in the cost of college vs. broader prices in the economy since 1978. You don’t need a legend to know which line is which:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515752654-CleanShot-2020-05-23-at-01.41.03%402x.png" alt=""></p>
<p>These surging costs are fueling an explosion of consumer debt. We can get some sense of this from the following table, which shows the median debt-to-income ratios among college degree holders across multiple birth decades at various years of age:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515755489-CleanShot-2020-05-25-at-02.04.33%402x.png" alt=""></p>
<p>So for example, the median American born in the 1960s owed debt equal to <strong>34%</strong> of their annual income at the age of 26, while Americans born in the 1980s owed debt of <strong>109%</strong> of income, <strong>a tripling of the typical debt burden for young adults</strong>. While much of this relates to the broader availability of mortgage debt, at the age of 26, one has to assume that much of it comes college borrowings yet to be paid off. In fact, the authors note that “debt ratios generally are higher among college grads than non-grads.”</p>
<p>That debt levies a pernicious tax on the debt holder in the form of regular interest payments and often leaves them with negative net worth until the debt can be sufficiently paid down.</p>
<h2>The grand finale</h2>
<p>Add all that up and you arrive at the sobering conclusion that, <strong>college may no longer be beneficial from the standpoint of individual wealth generation</strong>. This doesn’t mean that it doesn’t have all sorts of <em>other</em> value (such as non-monetary or “social” value), but on this important dimension the returns seem to have fallen to zero or potentially even lower.</p>
<p>Unconvinced? Here is possibly the most important chart in higher education, showing the expected impact of a bachelor’s degree on the net worth of graduates born across various decades, again controlling for age:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515761026-DraggedImage.png" alt=""></p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515759358-DraggedImage-1.png" alt=""></p>
<p>What does this say? A white college graduate born in the 1930s could have expected to achieve <strong>247%</strong> higher net worth than their non-college educated peers, while one born in the 1980s can only expect to own <strong>42%</strong> more.</p>
<p>For black grads the story is even worse.</p>
<p>While the 1930s cohort (an extremely small group it should be noted) could be expected to own 509% more wealth compared to similarly aged blacks without a degree, those born in the 1980s only achieve 6% more wealth as a result of their degree, an effect “statistically indistinguishable from zero,” as the researchers put it.</p>
<p>This is a <strong>big</strong> deal.</p>
<p>The collapse in the financial value of a college degree can be traced directly to the explosive growth in the cost of attending college, financed by ever-growing debt burdens.</p>
<p>Notice that the chart ends at the 1980s birth cohort. If these trends have continued, recent graduates born in the 90s may do even worse relative to non-graduates, reflecting further erosion in the wealth effect of a college education.</p>
<p>If you’ve read this far, you should be disturbed and alarmed.</p>
<p>Why aren’t these sobering facts receiving more attention? It’s a good question —and I don’t have an answer — but I hope to at least point the public in the right direction by shining a light on the growing problem of ineffectual “degreeism.”</p>
<p>But there might be a counterintuitive “silver lining” to this situation.</p>
<h2>COVID College Online</h2>
<p>College graduates do better in recessions than non-graduates. Their incomes do not fall as significantly, nor do their unemployment rates surge to the same extent, as we can see in <a href="https://www.pewtrusts.org/~/media/legacy/uploadedfiles/pcs_assets/2013/pewcollegegradsrecessionreportpdf.pdf">data from the Great Recession</a>:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515757687-CleanShot-2020-05-29-at-23.47.16%402x.png" alt=""></p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515747594-CleanShot-2020-05-23-at-01.16.34%402x.png" alt=""></p>
<p>In this sense, a college degree serves as downside protection or insurance against the worst outcomes. Thus, in tough times the relative value of a college degree increases. Given the way COVID disproportionately impacts low-wage workers, this is even truer right now.</p>
<p>Many of this year’s graduates are rightfully disappointed about their curtailed college experiences and graduating into a major recession. It’s important to remember though that, ironically, degrees are in fact <em>more</em> valuable during recessions.</p>
<h2>There’s no such thing as a free lunch</h2>
<p>College is not a free lunch. It’s the furthest thing from free, and its impact on individual wealth generation is dubious.</p>
<p>College is no longer a “sure thing.” We’re paying more for it and getting less. How much of this shift is being driven by colleges themselves vs. changes in the underlying economy is unclear, so we shouldn’t point fingers just yet.</p>
<p>What’s clear is that the calculus of college must change.</p>
<p><em>Many kudos to <a href="https://www.stlouisfed.org/household-financial-stability/staff-profiles/william-r-emmons/bio">William Emmons</a>, <a href="https://www.stlouisfed.org/household-financial-stability/staff-profiles/ana-hernandez-kent/bio">Ana Kent</a>, and <a href="https://www.stlouisfed.org/household-financial-stability/staff-profiles/lowell-r-ricketts/bio">Lowell Ricketts</a>, the authors of <a href="https://research.stlouisfed.org/publications/review/2019/10/15/is-college-still-worth-it-the-new-calculus-of-falling-returns">the study</a> from which much of this post is derived.</em></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Do College Degrees Matter for Software Engineers? Maybe]]>
                        </title>
                        <description>
                            <![CDATA[Do college-educated developers earn more? Yes, but less than you might think]]>
                        </description>
                        <link>https://whoisnnamdi.com/college-degrees-software-engineers/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/college-degrees-software-engineers/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 20 May 2020 15:39:14 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512200903-EdLevel_header-3.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><em>This post is an excerpt from my <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020/">2020 software developer pay analysis</a>. Read the rest of the analysis <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020/">here</a>.</em></p>
<p>Coding bootcamps say <a href="https://lambdaschool.com/about">the traditional model of education is broken</a> and that anyone can become a software developer with the proper effort.</p>
<p>Further, they claim that traditional institutions aren’t incentivized to ensure their graduates get hired post-school.</p>
<p>Regardless of your views, these claims ignore an important question: let’s say you get the job — <strong>will you earn less as a software developer without a college degree</strong>?</p>
<h2>Yes, but it’s not as bad as you might think</h2>
<p><img src="https://whoisnnamdi.com/content/images/2020/05/EdLevel-1.png" alt=""></p>
<p>Developers with college degrees earn <strong>7.5%</strong> more than developers with no college education.</p>
<p>As in <a href="https://whoisnnamdi.com/age-race-gender-software-engineering-pay/">previous analyses</a>, I additionally control for various observable factors like <code>age</code>, <code>experience</code>, <code>hours worked</code>, <code>size of employer</code>, <code>programming languages</code> <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020/">and more</a>. Interestingly, accounting for these factors doesn’t change the college wage premium.</p>
<p>Advanced degrees carry greater benefits — master's degree holders earn <strong>13.3%</strong> more than college degree holders, while those with doctoral degrees (i.e. PhDs) earn <strong>20.5%</strong> more. These numbers decrease meaningfully though once I add in the controls I mentioned above, falling to <strong>4.1%</strong> and <strong>7.8%</strong> respectively.</p>
<h2>Is this a big deal?</h2>
<p>Now, a 7.5% college degree advantage is nothing to scoff at.</p>
<p>But 7.5% is <em>tiny</em> relative to the college wage premium earned by the public at large.</p>
<p>A review of the evidence around higher education shows that the college wage premium is much higher for the overall population. In <a href="https://research.stlouisfed.org/publications/review/2019/10/15/is-college-still-worth-it-the-new-calculus-of-falling-returns">my favorite study</a> on this topic, researchers at the Federal Reserve Bank of St. Louis show that, controlling for age and level of degree (college vs. graduate), college graduates earn <strong>~50%</strong> more than non-graduates (the data is similar for other ethnicities):</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/05/DraggedImage.png" alt=""></p>
<p>So the college degree wage premium for software developers is much smaller than the broader population benefit. This is not that surprising — income variation within careers is typically much narrower than across careers.</p>
<h2>Getting the gig</h2>
<p>Of course, this all assumes you get the job in the first place.</p>
<p>It doesn’t matter how much a college degree impacts one’s earnings as a software developer if not having one effectively locks you out of the career.</p>
<p>It’s hard to judge how true this is. If you believe the hype around <a href="https://lambdaschool.com/">Lambda School</a> and other bootcamp programs, a college degree is not necessarily a barrier to becoming a software developer. Realistically, few people without a college degree bother to pursue software engineering, but that doesn’t mean they couldn’t if they put their mind to it.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/05/DraggedImage-1.png" alt=""></p>
<p>If bootcamps and other alternative forms of education can successfully train and place students in legitimate software engineering roles, then a college degree might not be required.</p>
<p>I think the jury is still out. <a href="https://www.theinformation.com/articles/lambda-schools-growing-pains-big-buzz-student-complaints">Recent media reports</a> have not been kind to coding bootcamps like Lambda. Then again, anecdotes may not represent the full story. For now, only the schools themselves have the data to prove their own efficacy.</p>
<p>That said, we can finally put some numbers behind the claim that college degrees don't matter for software engineers. They matter, but not much, assuming you can get hired as a developer. Once in the seat, your degree matters much less than other factors, like on the job performance, competence, etc.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Pandemiconomics: Viral Volatility]]>
                        </title>
                        <description>
                            <![CDATA[How the virus rocked stocks]]>
                        </description>
                        <link>https://whoisnnamdi.com/viral-volatility/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/viral-volatility/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 15 Apr 2020 21:22:57 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512198504-header.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>The sky fell. Then it bounced off the ground and rose a bit. Then it fell some more, and then it rose again. Now we’re not really sure what it’s doing.</p>
<p>Stock analysts and market watchers are understandably baffled and bewitched by the multi-month corona-coaster:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/uCUJlflCUA.png" alt=""></p>
<p><strong>The volatility generated by the coronavirus pandemic beats out even the Great Depression and the global financial crisis of 2008.</strong> Never before has an infectious disease generated such volatility in the markets. This includes every previous pandemic on record, which typically have only tiny effects on the U.S. stock market. Even the Spanish Flu of 1919-1920, which killed 2% of the world's population, did not generate such market movement.</p>
<h2>The views of the news</h2>
<p>We can quantify this differential impact by counting how often journalists attributed market volatility to ongoing pandemics or the accompanied policy responses. <a href="https://www.nber.org/papers/w26945">Researchers did exactly this</a>, and what they found was striking:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/MIAEpsbozj.png" alt=""></p>
<p>Of the 1,116 times since 1900 the stock market moved more than 2.5% in a single day prior to the Coronavirus, not once was the jump attributed in any way to a pandemic. Not once.</p>
<p>In contrast, of the 18 days between February 24 and March 24, 2020 where the market moved more than 2.5%, journalists attributed <strong>7 days</strong> to the coronavirus and <strong>8</strong> to the federal government's response to the virus. In other words, <strong>15 of the 18 episodes of high volatility were virus-related</strong>. This suggests updated information about the coronavirus caused nearly all outsized market movements.</p>
<p>In the words of the researchers, <strong>"no previous infectious disease episode led to daily stock market swings that even remotely resemble the response in the past month to the COVID-19 developments."</strong></p>
<p>Let’s stay on this theme of news coverage and look at this another way. Take the percentage of news articles talking about volatility, and subset those that mention an ongoing infectious disease pandemic. Here's what the same researchers found across multiple disease episodes:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/LRy9A11nIY.png" alt=""></p>
<p>Coronavirus reigns supreme. Focus on the column “<em>(2) % of EMV Articles with Infectious Disease Terms</em>”, where you can see the ramp in volatility coverage mentioning the coronavirus. <strong>91% of volatility-related news articles in March 2020 mentioned the coronavirus</strong>. This compares to peak news share of 5% for the Bird Flu of 1997-1998, 8% for SARS, 4% for Swine Flu / H1N1, and 11% for Ebola and MERS.</p>
<h2>Can we trade on this?</h2>
<p>Ok, so the virus clearly drives volatility.</p>
<p>Let's take the next logical step — <strong>can we predict stock market movements using updated information on the virus?</strong> Even further, <strong>can we use predictions of the virus' spread to predict market movements?</strong></p>
<p>According to one of my old economics professors, we can. Sort of.</p>
<p><a href="https://www.nber.org/papers/w26950">Peter Schott of Yale and a team of fellow researchers</a> explore this idea with a simple exponential growth model of COVID-19. They trained the model on actual data, updating its forecasts for every additional daily data point, noting how the model's predictions change day-to-day. These updates represent the predictive value of the daily stream of new information about the spread of the virus.</p>
<p>They then plotted these prediction updates against the daily changes of the Wilshire 5000 index, which you can see below. They found a noisy but negative relationship between projection updates and the stock market:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/c1Qu9XtY6N.png" alt=""></p>
<p>They go further and estimate linear regressions of this relationship, summarized below:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/iN6ihzWBPg.png" alt=""></p>
<p>Focus on column <strong>(2)</strong>. The coefficient of -0.086 implies that a doubling of predicted cases leads to a 8.6% lower closing price for the Wilshire 5000 index on that same day. Scaling this down, a 10% increase in predicted COVID-19 cases yields a 0.86% drop in the market.</p>
<p>Per columns <strong>(5)</strong> and <strong>(6)</strong>, the relationship holds even after controlling for the government’s response to the virus, showing that we can separate the impact of the virus itself from the impact of our response to the virus.</p>
<p>Let's not get ahead of ourselves. Though the relationship is statistically significant, the R^2 of the regression is only 0.105, which simply means you can't predict the market very well using only an exponential viral growth model as your only input. The sample is also small, containing only 41 days of data. That said, there is clear informational value contained in these updated forecasts, which suggests they drive market movements.</p>
<h2>The upshot</h2>
<p><strong>If epidemiological uncertainty drives stock volatility, volatility should taper as uncertainty declines.</strong></p>
<p>This is happening right now, in real-time.</p>
<p>Though the crisis is far from over, our forecasts are improving. This is good news in a time of mostly bad.</p>
<p>Meanwhile, a <a href="https://www.newyorkfed.org/medialibrary/media/research/staff_reports/sr920.pdf">paper out of the NY Fed</a> this month shows the economic impact of the "sudden stop" in economic activity. This reflects not so much the virus itself but policy responses to the virus, which have been meaningful, if not always swift:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/gWelVoIq73.png" alt=""></p>
<p>People often blame the severity of the Great Depression on <a href="https://www.hoover.org/research/feds-depression-and-birth-new-deal">misguided policies of the Federal Reserve</a>, but this is a man-made recession like nothing we've ever seen.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Byron Deeter and Jason Lemkin on the State of VC and the Cloud]]>
                        </title>
                        <description>
                            <![CDATA[When to raise capital, what to expect from VCs, and the "new normal"]]>
                        </description>
                        <link>https://whoisnnamdi.com/deeter-lemkin-state-of-vc-and-cloud/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/deeter-lemkin-state-of-vc-and-cloud/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 30 Mar 2020 08:42:02 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512195620-cover.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><a href="https://www.bvp.com/team/byron-deeter/">Byron Deeter</a>, Partner at <a href="https://www.bvp.com/">Bessemer Venture Partners</a>, and <a href="https://twitter.com/jasonlk">Jason Lemkin</a> of <a href="https://www.saastr.com/">SaaStr</a> hosted a live Zoom discussion last week on the current state of venture capital and cloud software in the wake of the coronavirus turmoil.</p>
<p>They covered:</p>
<ul>
<li>What's happening in venture today</li>
<li>When founders should raise capital and what to expect</li>
<li>The "new normal" for VCs and founders</li>
<li>Changes in cloud software / SaaS</li>
</ul>
<p>The call was so fantastic that I wanted to share my summarized notes and takeaways with you.</p>
<p>You can find:</p>
<ul>
<li>the Zoom recording <a href="http://go2.saastr.com/n0Rv0yf03jo30TS0Za001ta">here</a></li>
<li>the slides <a href="http://go2.saastr.com/Y01at0gov00jZ0033SR0zTa">here</a></li>
<li>my notes below</li>
</ul>
<p>Enjoy!</p>
<hr>
<h2>What's happening in venture today</h2>
<h3>Things are not “business as usual”, even for VCs who have capital to deploy</h3>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/usual.png" alt=""></p>
<p>VCs are going through an internal triage of portfolio companies, figuring out where the most damage has been done and what they can do to support their companies.</p>
<p>The best firms have plenty of reserves and will stand by and support their companies, especially the shining stars. The portfolio companies that aren’t doing so well, who are tight on cash… those are going to be the difficult situations.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/fund.png" alt=""></p>
<p>If a VC has just raised a fund, or it’s only their first fund, and they haven’t yet called the capital from Limited Partners, there <em>may</em> be some risk there.</p>
<p>We may see LPs pull back on commitments they’ve made to certain funds in order to handle their commitments to other funds. As there are tiers of venture firms, there are tiers of LPs, and the <strong>lower tier LPs are the ones more likely to pull out</strong>.</p>
<p>With all the turmoil on both the portfolio and LP side, VCs are spending less time on new deals. Net new checks are definitely going to decline:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/vc-survey.png" alt=""></p>
<blockquote>
<p>As a firm, we are trying to be careful with our time. Bessemer is taking no courtesy meetings right now. Anyone we meet with is someone we think could actually be an interesting investment — Byron Deeter</p>
</blockquote>
<p>If a VC calls, <strong>you should still take it</strong>, but don’t have too many expectations. Many “false signals” (i.e. mild, but not serious interest) right now.</p>
<h2>When founders should raise capital and what to expect</h2>
<h3>Go or no go?</h3>
<p>Driving net new conversations is going to be hard right now. VCs are simply busy right now, and there’s not much you can do about it.</p>
<p>It’s very difficult to start a deal process right now unless it’s being lead by one of your existing investors or someone you’ve already met and gotten to know well pre-crisis.</p>
<p>If a VC ghosts on you, don’t take it personally—reach back out in a few weeks once things have settled down.</p>
<blockquote>
<p>If you already deep in negotiation and have most of the terms locked down, get the deal done immediately. Emphasize speed over greed — Bryon Deeter</p>
</blockquote>
<p>For companies that were right about to kick off a financing and don’t have a big cash balance in reserve, that’s where the question of bridge financing comes up.</p>
<p>Given current conditions, bridge financings will be smaller in dollar terms than they typically are, but those dialogues are definitely happening.</p>
<blockquote>
<p>Founders should definitely ask their VCs for bridges, don’t be afraid to ask — Jason Lemkin</p>
</blockquote>
<p>If you don’t already have discussions underway, don’t be afraid to hit pause. People will become more deal-minded in the coming months and will be looking to the broader market to inform pricing.</p>
<h3>Term sheets are a slippery concept</h3>
<p>Some people may try to take advantage of the current situation and retract term sheets.</p>
<p>Don’t freak out—these things happen.</p>
<p>See it as more of a temporary dynamic based off the current market situation than any judgement of your startup or idea. It’s not a death knell.</p>
<p>On re-pricing:</p>
<blockquote>
<p>If an investor comes to you and wants to re-discuss pricing, I would encourage you to be open-minded to that. Try to close the current deal if you can, but if they want to reprice, that’s probably OK. Meeting somewhere in the middle is good, focus on getting the deal closed — Byron Deeter</p>
</blockquote>
<h3>Alternative financing options</h3>
<p>Consider venture debt as an option:</p>
<blockquote>
<p>If you’ve already locked down a venture debt line and think you might need it in the next 12 months, I would encourage you to draw it down right now — Byron Deeter</p>
</blockquote>
<p><em>Careful though</em>—in 2008 several debt providers withdrew venture lines they had extended to certain startups. In some cases, <strong>this ended up taking down the company</strong>, as they couldn’t survive without the debt financing.</p>
<p>This is less of risk with the tier one debt providers, but be careful with others.</p>
<h2>The "new normal" for VCs and founders</h2>
<h3>Not all is lost</h3>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/raise.png" alt=""></p>
<p>The fundamentals of most startup businesses are <em>much</em> better now than they used to be. Bookings will slow, churn will go up, but startup fundamentals are still much better than the 2000 or 2008 period where many companies went to zero.</p>
<p>Startups will get a little bit of a pass right now on financial performance from investors. Everyone understands that things are crazy right now. That free pass should last at least a few quarters.</p>
<p>The disruption may end up actually helping companies build a better foundation for the long-term by focusing on product and other critical areas and while deprioritizing go-to-market for the time being.</p>
<p>Even more reason to take a pause on go-to-market: some companies are reporting a spike in requests for demos right now, but <strong>this is another false signal</strong>. People are at home and bored, so they are signing up for demos on a whim. The conversion rate to actual deals will be <em>much</em> lower than is typical.</p>
<p>Great entrepreneurship happens across all cycles, but your ability to scale will be moderated during this recessionary period.</p>
<p>If you have made a ton of progress since your last round, <strong>up-rounds can still happen</strong>. But if you have any worries, take what you can get as far as capital.</p>
<p>You have to accept that multiples before were simply fantastic. Now they may just be OK to good.</p>
<p>If you are in a structured program or accelerator like Y Combinator, don’t be surprised if you don’t find an investor as you exit the program. Typically, completing one of these programs without receiving funding is a bit of a black mark. The current situation is an exception to that.</p>
<h3>Batten down the hatches</h3>
<p>That said, times are grim in more ways than one.</p>
<p><strong>Flat is the new up</strong>—if revenue doesn’t decline you are doing something right.</p>
<p>Get your burn under control.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/burn.png" alt=""></p>
<p>Every late-stage CEO should be striving to get to the point of infinite runway, i.e. <strong>breakeven profitability</strong>. Early-stage CEOs should be targeting <strong>18-24 months of runway</strong>. Careful though—18 months of runway is really 12 months of runway because it takes time to fundraise, especially in bad times.</p>
<p><strong>Sensitize all your projections.</strong> If bookings falls off, burn goes up, and that’s really tough on your cash runway.</p>
<p>If you’re approaching an exit, know that the M&#x26;A market is likely heat up later this year. Many companies have been stockpiling cash, waiting for this moment. (The others are getting bailed out).</p>
<p>Companies that have been waiting to be aggressive will soon jump in. That should be true for transactions large and small.</p>
<p>Start building relationships and partnerships with potential strategic buyers <em>now</em>.</p>
<p>And if you were planning a public offering, be warned—the IPO market is <em>unlikely</em> to recover in the same way.</p>
<h2>Changes in cloud software / SaaS</h2>
<h3>SaaS valuations remain above long-term averages</h3>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/contractions.png" alt=""></p>
<p>We have just seen one of the fastest 30% declines in market history. It’s almost unprecedented.</p>
<p>The good news is that it’s driven by an external shock that didn’t have to do with economic fundamentals. Therefore, optimistically we should see a solid rebound once things settle down, a vaccine is prepared, etc.</p>
<p>SaaS is fetching 8-10x multiples on revenue in the public markets, which is still much better than any other industry. Many of the well-known SaaS companies today grew up in an era where 8-10x revenue was the norm, and they did fine.</p>
<p>In hindsight these will seems like very reasonable numbers given what’s happening right now.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/bvp.png" alt=""></p>
<p>Many people thought ’08-09 was horrible, that we were never going to recover from it, but we did:</p>
<blockquote>
<p>Citibank told me to take my startup’s cash and put it under a mattress. One of the biggest banks in the world had no confidence there would be an improvement in the market — Jason Lemkin</p>
</blockquote>
<p>SaaS is particularly resilient relative to the overall economy:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/SaaS-08-09.png" alt=""></p>
<h3>Some industries and verticals will be harder hit than others</h3>
<p><img src="https://whoisnnamdi.com/content/images/2020/03/cnbc.png" alt=""></p>
<p>While the macro picture for SaaS overall is far from dire, certain sub-sectors will see significant near-term pain.</p>
<p>There will be complete dislocations in certain industry verticals like travel. If your product serves SMBs, <strong>be ready to take a hit</strong>. Small businesses are seeing the worst disruption in the current environment.</p>
<p><strong>Recruiting solutions</strong> will probably have a tough go of it for the next few quarters, as will <strong>marketing tech</strong>.</p>
<p>The more core your product is to your customer’s systems, the more resilient your revenue will probably be.</p>
<p>That said, prepare for some economic hit, no matter what industry you are in. Things can change very fast—companies that were reporting no impact last week are now seeing <strong>30-40%</strong> declines in new business.</p>
<p><strong>Get ahead of this</strong>—figure out what your leading indicators are for potential problems. Poor customer health, will ultimately lead to churn, which will lead to revenue and business impact.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Remote Software Developers Earn 22% More Than Non-Remote Developers]]>
                        </title>
                        <description>
                            <![CDATA[Working remote even just a few days per month leads to higher pay]]>
                        </description>
                        <link>https://whoisnnamdi.com/remote-software-developers-earn-more/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/remote-software-developers-earn-more/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 23 Mar 2020 16:07:39 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512193250-WorkRemote-5.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><em>This post is an excerpt from my <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020/">2020 software developer pay analysis</a>. Read the rest of the analysis <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020/">here</a>.</em></p>
<p>Organizations around the world have pivoted to remote work to shield themselves against the <a href="https://www.cdc.gov/coronavirus/2019-ncov/index.html">novel coronavirus / COVID-19</a> threat.</p>
<p>The sudden change prompts numerous questions. To start, how will this new (for some <a href="https://about.gitlab.com/company/culture/all-remote/">but not all</a>) paradigm affect the way we work and collaborate?</p>
<p>One piece of good news among all the dread—remote work could lead to higher take-home pay, at least for software engineers.</p>
<h2>Remote work pays</h2>
<p><a href="https://plot.ly/~whoisnnamdi/82/?share_key=A4rtkRSqRGar7d19Zq3Xf6" title="Remote Work"><img src="https://plot.ly/~whoisnnamdi/82.png?share_key=AeS6BZEpGR5FXWfIFa29gc" alt="Remote Work"></a></p>
<p>Fully-remote software developers earn <strong>21.9%</strong> more than developers who never or rarely work remote.</p>
<p>Even once I <a href="https://en.wikipedia.org/wiki/Controlling_for_a_variable">control</a> for various observable factors (including <code>age</code>, <code>experience</code>, <code>hours worked</code>, <code>size of employer</code>, <code>programming languages</code>, and <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020/">more</a>), fully-remote software developers earn <strong>9.4%</strong> more than developers who never or only rarely work remotely.</p>
<p>Further, the remote work pay advantage increases proportionately with the time spent working remotely. Therefore, fully-remote developers earn more than</p>
<ul>
<li>those who work remotely more than half the time, who earn more than</li>
<li>those who work remotely roughly half the time, who earn more than</li>
<li>those who work remotely less than half the time.</li>
</ul>
<p>Even working only a few days each month yields a substantial pay advantage of <strong>15.5%</strong> on average and <strong>4.9%</strong> controlling for observable factors, and the estimates are quite precise.</p>
<p>In other words, <strong>half or more of the benefit comes from being able to work remotely at least a small portion of the time</strong> (vs. not at all), while the remainder comes from increased remote time, maxing out at fully-remote.</p>
<p>This is an impressive result.</p>
<p>While I can't be sure this is <a href="https://towardsdatascience.com/causal-vs-statistical-inference-3f2c3e617220">causal</a>, the <strong>large apparent effects</strong> (even after controlling for other variables) paired with the <strong>clear upward trend</strong> as remote work increases gives me confidence there is something real here.</p>
<h2>Wait but why?</h2>
<p>The obvious next question is… <em>why</em>?</p>
<p>Hard to say—by definition the adjusted pay premium already controls for any other data I had access to.</p>
<p>However, I can show how the other factors contribute to the explainable premium (i.e. the gap between the unadjusted and adjusted pay premium):</p>
<p><a href="https://plot.ly/~whoisnnamdi/84/?share_key=A4rtkRSqRGar7d19Zq3Xf6" title="Explaining  Remote Work"><img src="https://plot.ly/~whoisnnamdi/84.png?share_key=AeS6BZEpGR5FXWfIFa29gc" alt="Explaining Remote Work"></a></p>
<p>Here we can see some of the other factors contributing to the pay advantage for fully-remote developers:</p>
<ul>
<li><code>years of professional coding experience</code>,</li>
<li><code>age</code>,</li>
<li>and a variable that proxies for the <code>influence</code> a developer has within their organization (their decision making power over new technology purchases)</li>
</ul>
<p>Combined with other <a href="https://www.theanalysisfactor.com/what-is-a-confounding-variable/">confounding variables</a>, these account for <strong>12.5 percentage points</strong> of the 21.9 percentage point pay advantage.</p>
<p>Much of the apparent premium earned by remote developers is in fact driven by seniority and tenure. These are older, more experienced developers who either prefer to work remote or whose organizations grant them that privilege.</p>
<p><a href="https://plot.ly/~whoisnnamdi/80/?share_key=A4rtkRSqRGar7d19Zq3Xf6" title="Years of Professional Coding Experience vs. Remote Work"><img src="https://plot.ly/~whoisnnamdi/80.png?share_key=AeS6BZEpGR5FXWfIFa29gc" alt="Years of Professional Coding Experience vs. Remote Work"></a></p>
<p>That said, the remaining <strong>9.4%</strong> adjusted pay advantage for fully-remote developers is nothing to scoff at. The other variables cannot explain this meaningful earnings bump.</p>
<h2>This one weird trick</h2>
<p>I find an economically and statistically significant pay premium for remote developers, even those who are only away from the office a few days each month. In fact, <em>most of the earnings gains</em> come from this initial foray into remote work, while the rest come with additional hours spent away from the office.</p>
<p>Would this hold in a world where remote work is more the norm than the exception? No idea.</p>
<p>Does this apply to non-software developers? Again, can’t say.</p>
<p>But it's an interesting result nonetheless, and one that deserves further investigation as more knowledge workers shift their work online and away from the corporate office—<a href="https://www.cdc.gov/coronavirus/2019-ncov/index.html">virus</a> or no virus.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[How Age, Race, and Gender Affect Software Engineering Pay]]>
                        </title>
                        <description>
                            <![CDATA[Progress on narrowing pay gaps among software developers]]>
                        </description>
                        <link>https://whoisnnamdi.com/age-race-gender-software-engineering-pay/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/age-race-gender-software-engineering-pay/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 24 Feb 2020 18:11:43 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512190908-Ethnicity-10.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><em>This is part 1 of my 2020 analysis of software developer earnings. You can find the rest of the results and methodology <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020">here</a>.</em></p>
<p>Age. Race. Gender. Sexual orientation.</p>
<p>In an ideal world, none of these factors would matter for what a software engineer earns. As characteristics, they shouldn’t necessarily influence the productivity or value of a developer, and hence shouldn’t affect pay.</p>
<p>Turns out, however, they do — though not always in the way or to the degree you might expect.</p>
<p>In this first part of my 2020 analysis of software engineering pay, I explore how these demographic characteristics match with developer pay, tease apart correlation from causation, and explain the confounding factors driving some of the more surprising results.</p>
<p><strong>Key findings:</strong></p>
<ul>
<li>Earnings peak around 45-50 years of <code>age</code></li>
<li><code>Racial minorities</code> make up both the highest and lowest-paid developers</li>
<li><code>Female</code> software engineers earn ~10% lower salaries than their male counterparts, but <code>professional experience</code> explains most of the gap</li>
<li><code>Gay and lesbian</code> engineers earn more than <code>straight</code> engineers after adjusting for observable factors</li>
<li><code>Parents</code> earn significantly more that <code>non-parents</code>, but this is explained by other factors</li>
</ul>
<p>If you haven't already, please check out the <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020">methodology behind the analysis</a>, otherwise the numbers below might be difficult to interpret.</p>
<h2>Age</h2>
<p><a href="https://plot.ly/~whoisnnamdi/49/?share_key=A4rtkRSqRGar7d19Zq3Xf6" title="Age"><img src="https://plot.ly/~whoisnnamdi/49.png?share_key=AeS6BZEpGR5FXWfIFa29gc" alt="Age"></a></p>
<h3>Earnings peak in the late 40s</h3>
<p>Developer earnings rise fairly steadily from the early 20s through the late 40s. <strong>The late 40s represent the highest earnings of a developer’s life</strong>, where the average developer earns <strong>28.7%</strong> more than the typical 26-30 year old (the most common age range in the data), after which pay stabilizes before finally beginning to decline in the early 60s.</p>
<h3>Age doesn’t matter much after 35</h3>
<p>However, adjusting for other characteristics, <code>age</code> is most “advantageous” in the 31-35 range, when a developer can expect to earn <strong>4.7%</strong> more than an equivalent developer five years their junior. This advantage is highly statistically significant.</p>
<p>The pay bump quickly dissipates with additional years however, losing statistical significance and even turning somewhat negative by the 51 to 55 range, though this is not precisely estimated.</p>
<p>The key point is that the additional income earned by older developers is entirely explained by factors unrelated to age. When we control for other factors, <strong>pay does not vary much by <code>age</code> after 35.</strong></p>
<h3>Little causal impact of age</h3>
<p>Why does the correlation between <code>age</code> and income disappear after controlling for other factors? Let’s dig in:</p>
<p><a href="https://plot.ly/~whoisnnamdi/63/?share_key=zIzwrGKK43zEpTMXUKUt9A" title="45_50"><img src="https://plot.ly/~whoisnnamdi/63.png?share_key=zIzwrGKK43zEpTMXUKUt9A" alt="45_50"></a></p>
<p>The analytics demonstrate that <code>years of professional coding experience</code> matters much more than age itself, which is what you’d hope to see. These additional <code>years of professional experience</code> effectively explain the entire earnings premium for older software engineers.</p>
<p>Additionally important variables include <code>self-rated competence</code>, having <code>influence over technology purchases</code> in their organization, and <code>working remotely</code> (which older workers are more likely to do), and having dependents.</p>
<h2>Race</h2>
<p><a href="https://plot.ly/~whoisnnamdi/42/?share_key=AeS6BZEpGR5FXWfIFa29gc" title="Ethnicity"><img src="https://plot.ly/~whoisnnamdi/42.png?share_key=AeS6BZEpGR5FXWfIFa29gc" alt="Ethnicity"></a></p>
<h3>Minorities are both the highest and lowest-paid software developers</h3>
<p>As in <a href="https://whoisnnamdi.com/highest-paid-software-developer/">last year’s analysis</a>, the largest pay gaps are between minority groups, which make up both the highest and lowest-paid developers.</p>
<p><code>East</code> and <code>South Asians</code> see the most statistically significant pay premiums relative to white developers with or without controls in the regression. In the case of <code>East Asians</code>, their pay premium <em>increases</em> after controlling for various factors.</p>
<p>These premiums are large and meaningful — <code>East Asians</code> earn <strong>7.4%</strong> more than white developers and <strong>13.9%</strong> more controlling for observable characteristics, while <code>South Asians</code> earn <strong>13.1%</strong> unadjusted and <strong>8.1%</strong> adjusted more than <code>whites</code> respectively.</p>
<h3>Examining the East Asian pay advantage</h3>
<p>Breaking down the explainable <code>East Asian</code> earnings premium yields some interesting findings:</p>
<p><a href="https://plot.ly/~whoisnnamdi/53/?share_key=u6QFIdd8N6y0GRHdUzflZT" title="East Asian"><img src="https://plot.ly/~whoisnnamdi/53.png?share_key=u6QFIdd8N6y0GRHdUzflZT" alt="East Asian"></a></p>
<p>First — <code>years of professional coding experience</code> is far and away the biggest factor holding down the pay of <code>East Asian</code> software engineers. <code>East Asian</code> developers typically have less work experience than whites, which holds down their earnings.</p>
<ul>
<li>My calculations suggest that <code>East Asian</code> developer would earn <strong>8.0%</strong> more if they had similar amounts of professional experience as whites</li>
<li>This rises to <strong>9.0%</strong> if we add in additional, non-professional, coding experience.</li>
</ul>
<p><code>Age</code> also holds back <code>East Asian</code> developers, as they are typically younger than white developers. This amounts to a <strong>2.0%</strong> pay disadvantage.</p>
<p>Lastly, the sheer magnitude of the earnings premium enjoyed by <code>Asian</code> developers should be noted. That the premium remains so large even after controlling for various factors is puzzling.</p>
<h3>Good and bad news for black software developers</h3>
<p>Let’s look at one more — the pay gap for <code>black</code> developers. The unadjusted gap — which again simply compares average earnings of <code>black</code> and <code>white</code> developers — is <strong>-7.6%</strong>, while the adjusted gap contracts meaningfully to <strong>-0.3%</strong>, which is not statistically significant:</p>
<p><a href="https://plot.ly/~whoisnnamdi/55/?share_key=uWaEpRLPDnUZtrlzKx31LP" title="Black"><img src="https://plot.ly/~whoisnnamdi/55.png?share_key=uWaEpRLPDnUZtrlzKx31LP" alt="Black"></a></p>
<p>Breaking down the explainable gap for <code>blacks</code> reveals similar drivers as we saw in the <code>East Asian</code> case. <code>Years of professional coding experience</code> is the main contributor to lower pay for black software engineers relative to <code>whites</code>, in total driving <strong>5.8</strong> percentage points of the overall 7.6% gap. Nothing else matters nearly as much.</p>
<p>In a sense, this is heartening. Assuming a <code>black</code> engineer gets as much out of an additional year of work experience as anyone else, purely closing the gap there would bring black pay nearly in line with white pay.</p>
<p>On the other hand, that the unadjusted gap is explainable via <code>years of experience</code> also means that the gap is unlikely to close anytime soon.</p>
<p>Why? The <code>age</code> structure of the workplace is slow to change — it takes decades to see sizable shifts</p>
<ul>
<li>Additionally, as the industry diversifies, by definition most <code>black</code> professionals entering the software development career track start off at the bottom rung of the ladder</li>
<li>Thus, the diversification of the industry in fact depresses average <code>black</code> earnings, as fresh out of bootcamp developers don’t earn nearly as much as seasoned veterans</li>
</ul>
<p>This is not a bad thing — but it does mean I can’t conclude something nefarious is behind the slow convergence of <code>black</code> and <code>white</code> wages without other evidence.</p>
<p>The other factor worth touching on is <code>ImpSyn</code> which is a variable representing a respondent’s own <code>confidence</code> in their skills as a software developer. More <code>confident</code> developers earn more, and there appears to be a confidence gap between black and white developers driving <strong>1.1%</strong> of the earnings gap.</p>
<h2>Gender</h2>
<p><a href="https://plot.ly/~whoisnnamdi/51/?share_key=D2GlnNRYyS41CEMS6rzhXy" title="Gender"><img src="https://plot.ly/~whoisnnamdi/51.png?share_key=D2GlnNRYyS41CEMS6rzhXy" alt="Ethnicity"></a></p>
<h3>Young women entering the software development workforce pull down average female earnings</h3>
<p><code>Women</code> earn <strong>10.0%</strong> less than male software engineers on average, a sizable difference. However, this gap is effectively eliminated once we adjust for controllable factors, falling to only <strong>1.4%</strong>, which is not statistically significant.</p>
<p>In diagnosing the unadjusted 10.0% pay gap for <code>women</code>, <code>years of experience</code> pops up once again as a dominant factor explaining most of the gap:</p>
<p><a href="https://plot.ly/~whoisnnamdi/59/?share_key=QGU59riYZCzp45iDEoc7uJ" title="Woman"><img src="https://plot.ly/~whoisnnamdi/59.png?share_key=QGU59riYZCzp45iDEoc7uJ" alt="Woman"></a></p>
<p><strong>5.7</strong> percentage points of the <code>gender</code> pay gap can be explained by the fact that <code>female</code> developers have less professional experience than <code>male</code> developers on average. Adding in overall <code>coding experience</code> explains <strong>7.1</strong> total percentage points of the overall gap.</p>
<p><a href="https://plot.ly/~whoisnnamdi/76/?share_key=9uXXMY4gKT4Ri9XCd2uQrx" title="Sexuality"><img src="https://plot.ly/~whoisnnamdi/76.png?share_key=9uXXMY4gKT4Ri9XCd2uQrx" alt="Sexuality"></a></p>
<p>While <code>women</code> are only 1.7 years younger than <code>men</code> on average in the dataset, they have <strong>3.3</strong> fewer <code>years of professional coding experience</code> (7.1 years for <code>women</code> vs. 10.4 for <code>men</code>). We can see this in the histogram / <a href="https://en.wikipedia.org/wiki/Kernel_density_estimation">kernel density estimation</a> comparing the respective distributions of <code>years of professional coding experience</code> of <code>men</code> and <code>women</code>, where the distribution for <code>women</code> is shifted and more clustered to the left. This meaningful difference explains why <code>professional experience</code> is such as major driver of the gender wage gap.</p>
<p><code>Confidence</code> (<code>ImpSyn</code>) comes up again as a factor pulling down <code>female</code> wages. Here, the <code>confidence</code> gap explains <strong>1.0%</strong> of the overall <code>female-male</code> <code>gender</code> gap, very similar in magnitude to that of <code>black</code> developers vs. <code>white</code> developers.</p>
<h3>Small contribution from other factors</h3>
<p>In line with other research, <code>women</code> are also less confident about their own programming skills than <code>men</code> are (who for all we know might be overconfident), which explains another <strong>1.0%</strong> of the total gap (because higher confidence leads to higher pay, as I cover in a later post).</p>
<p>Experience and confidence collectively explain <strong>8.1%</strong> of the gender pay gap among software engineers, leaving only a 1.9% gap, including the 1.4 percentage point difference that we cannot explain.</p>
<h2>Sexual orientation</h2>
<p><a href="https://plot.ly/~whoisnnamdi/65/?share_key=t51SFgyvKOWIwEl2u1Ld6N" title="Sexuality"><img src="https://plot.ly/~whoisnnamdi/65.png?share_key=t51SFgyvKOWIwEl2u1Ld6N" alt="Sexuality"></a></p>
<h3>Earnings penalty for non-straight developers disappears after controlling for other factors</h3>
<p>Unadjusted pay gaps among non-straight software engineers ranges from <strong>2.5%</strong> for <code>gay</code> and <code>lesbian</code> developers to <strong>9.6%</strong> for <code>bisexual</code> developers, which simply means these individuals earn less on average than <code>straight</code> engineers.</p>
<p>In the case of <code>gay</code> and <code>lesbian</code> developers however, this gap closes and actually reverses once I add controls. The gap becomes a pay <em>advantage</em> of <strong>3.4%</strong>.</p>
<p><a href="https://plot.ly/~whoisnnamdi/67/?share_key=Sr50IIjPqYHtxWDS80yymI" title="gay_lesbian"><img src="https://plot.ly/~whoisnnamdi/67.png?share_key=Sr50IIjPqYHtxWDS80yymI" alt="gay_lesbian"></a></p>
<p>Starting at the adjusted / unexplained 3.4% premium, the lower average unadjusted earnings is largely accounted for by <code>years of professional coding experience</code> (a recurring theme) and <code>age</code>, suggesting that <code>gay</code> and <code>lesbian</code> developers are simply earlier in their careers than <code>straight</code> developers, on average.</p>
<p>The decomposition of the difference in adjusted and unadjusted pay gaps is quite similar for <code>bisexual</code> developers. <code>Professional experience</code> and <code>age</code> continue to the do the most explanatory work here:</p>
<p><a href="https://plot.ly/~whoisnnamdi/69/?share_key=QxSeWndRHlY67kVOkXIxiF" title="bisexual"><img src="https://plot.ly/~whoisnnamdi/69.png?share_key=QxSeWndRHlY67kVOkXIxiF" alt="bisexual"></a></p>
<h2>Parenthood</h2>
<p><a href="https://plot.ly/~whoisnnamdi/71/?share_key=dWo5kDpYg4FllIVKqQa5Ae" title="Dependents"><img src="https://plot.ly/~whoisnnamdi/71.png?share_key=dWo5kDpYg4FllIVKqQa5Ae" alt="Dependents"></a></p>
<h3>Parents earn more, but this is largely explained by other factors</h3>
<p>Software engineers with <code>dependents</code> (typically children) earn <strong>17.2%</strong> more than those without, but this earnings premium can be almost entirely accounted for via the other factors described in this analysis.</p>
<p><a href="https://plot.ly/~whoisnnamdi/73/?share_key=r1C05eXGR0rC3Qa0ZQja0q" title="yes"><img src="https://plot.ly/~whoisnnamdi/73.png?share_key=r1C05eXGR0rC3Qa0ZQja0q" alt="yes"></a></p>
<p>Controlling for these variables reduces the parenthood earnings premium to <strong>1.5%</strong>, which is small but statistically significant.</p>
<ul>
<li>Perhaps the data reflects that these developers earn extra income in order to take care of their <code>dependents</code></li>
<li>Such a small bump in earnings like does not cover the additional expense of a child or other <code>dependent</code>, however</li>
</ul>
<p>Unsurprisingly, <code>years of software development experience</code> and <code>age</code> account for most of the earnings premium among parents. These are largely mid and late career engineers.</p>
<p><code>Working remote</code> explains another <strong>1.1%</strong> of the pay premium among parents, as they are more likely to work from home, which makes sense given they may have a child to take care of.</p>
<h2>Conclusion: Significant progress on pay</h2>
<p>Not to editorialize, but I was encouraged by many of the results here. In general, along most dimensions, discrimination in software developer earnings appears small once various factors are controlled for. In most cases, the biggest factors were some combination of <code>years of coding experience</code> and <code>age</code> which are both “problems” that will largely fix themselves as the industry diversifies.</p>
<p>With the exception of <code>race</code>, most of the gaps are no more than a few percentage points in magnitude. In the case of race, the gaps are meaningful in some cases but difference is in fact <em>in favor</em> of minority groups like <code>East Asian</code>, <code>South Asian</code>, and <code>Middle Eastern</code> software developers. Their pay advantages are substantial, and the data from the <a href="https://insights.stackoverflow.com/survey/2019">Stack Overflow</a> survey fail to fully explain these gaps.</p>
<p>The usual caveats to pay analyses apply here as well. Finding little discrimination on pay, after controlling for factors such as <code>job title</code>, does not disprove discrimination in its entirety.</p>
<ul>
<li>For example, if <code>female</code> software engineers face discrimination in the form of reduced upward career mobility, that will not show up in this analysis, even though it depresses their earnings</li>
<li>The same would apply to older software developers, who may be pressured out of their organizations to make room for cheaper, younger developers.</li>
</ul>
<p>Analogous statistical caveats abound.</p>
<p>That said, the data suggest the software development industry is well on its way to pay parity across the important dimensions of age, race, gender, and sexuality.</p>
<p><em>Thanks for reading part 1 of my 2020 analysis of software developer pay. You can find the rest of the analysis and methodology <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020">here</a>.</em></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Highest-Paid Software Engineers: 2020 Edition]]>
                        </title>
                        <description>
                            <![CDATA[Engineers are the basic economic unit of modern software development.

The software production function depends critically on developer productivity and compensation.

And yet software engineering pay remains poorly understood.]]>
                        </description>
                        <link>https://whoisnnamdi.com/highest-paid-software-engineers-2020/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/highest-paid-software-engineers-2020/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 24 Feb 2020 17:15:07 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512192005-clip-programming.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Engineers are the basic economic unit of modern software development.</p>
<p>The software production function depends critically on developer productivity and compensation. No developers, no software.</p>
<p>Yes “<a href="https://medium.com/@rrhoover/the-rise-of-no-code-e733d7c0944d">no code</a>” is a thing — but even the no code systems themselves are developer-built. You can’t get around it.</p>
<p>And yet software engineering pay remains poorly understood. Different employers pay differently for the same engineering talent. Engineers with similar resumes are paid varying salaries by the same employer.</p>
<p>This guide explains why.</p>
<p>Developer compensation is a critical piece of technology's economic impact. Awareness of this data makes you a better informed citizen of the industry.</p>
<p><strong>I am dedicated to enhancing the careers of software developers and the functioning of the organizations that employ them.</strong> Compiling this report <a href="https://whoisnnamdi.com/highest-paid-software-developer/">every year</a> is one way I do this.</p>
<p>If you’re a…</p>
<ul>
<li>developer,</li>
<li>founder,</li>
<li>manager,</li>
<li>or executive</li>
</ul>
<p>... then this guide is for you.</p>
<h2>Table of contents</h2>
<ul>
<li><a href="/age-race-gender-software-engineering-pay">Part 1: How Age, Race, and Gender Affect Software Engineering Pay</a>
<ul>
<li>How <code>age</code>, <code>race</code>, <code>gender</code> and other characteristics affect pay and the extent of pay discrimination in the software development industry</li>
</ul>
</li>
<li><a href="/college-degrees-software-engineers/">Part 2: Do College Degrees Matter for Software Engineers?</a>
<ul>
<li>Does <code>education</code> matter for how software engineers get paid? The answer: maybe</li>
</ul>
</li>
<li>Part 3: The Characteristics of the Best-Paid Software Engineers and Best-Paying Companies (coming soon)
<ul>
<li>The highest and lowest-paid <code>engineering roles</code>, how much big Big Tech pays, the <code>experience</code> advantage, and more</li>
</ul>
</li>
<li>Part 4: The Highest-Paid Programming Languages, Databases, and Frameworks (coming soon)
<ul>
<li>Does <code>React.js</code> pay better than <code>AngularJS</code>? How do <code>operating systems</code> affect developer earnings? How important is fluency with <code>cloud infrastructure</code>?</li>
</ul>
</li>
</ul>
<h2>About this guide</h2>
<h3>The data</h3>
<p>As with <a href="https://whoisnnamdi.com/highest-paid-software-developer/">last year’s analysis</a>, the data in this report is based on a subset of <a href="https://insights.stackoverflow.com/survey/2019">Stack Overflow’s annual developer survey</a>. They have run this survey for a while now and each year graciously open source the responses in an easy work with CSV file.</p>
<p>The survey is global, but here I focus on 10,355 U.S. based individuals employed as software engineers on either a part-time, full-time, or independent basis.</p>
<p>The data is entirely self-reported, so I implicitly assume respondents make accurate claims as to their income, personal characteristics, qualifications, etc. To the extent there are obviously false responses, I have attempted to remove them.</p>
<p>I used Python for the analysis, and if you’d like to reproduce the results, I’ll be releasing the code I wrote after publishing the full results on my <a href="https://github.com/whoisnnamdi/">GitHub</a>.</p>
<h3>Why it’s important to adjust pay gaps for observable factors</h3>
<p>Two possible statements comparing the pay of different groups of software developers:</p>
<ol>
<li>Developers of <code>type A</code> make X% more than developers of <code>type B</code>, on average</li>
<li>Developers of <code>type A</code> make Y% more than developers of <code>type B</code>, all else equal</li>
</ol>
<p>X and Y are rarely the same number. X compares the average earnings of the group A and B. Y compares hypothetical As and Bs who are similar in all dimensions except one, allowing us to attribute the difference to that single trait.</p>
<p>Most analyses of pay gaps stop at statement #1 and call it a day. <strong>This is lazy and misleading.</strong></p>
<p>Though we’d love to know both X and Y, it is Y that corresponds better to our intuitive meaning of “pay gaps” — the difference between the earnings of two groups who are equivalent except for a single trait of interest (<code>age</code>, <code>gender</code>, <code>years of experience</code>, etc.).</p>
<p>Identifying Y requires additional data on characteristics that may correlate with earnings.</p>
<h3>We can't explain everything</h3>
<p>Using the above methodology, I’ll use the following terms in this report:</p>
<ul>
<li><strong>Total / Unadjusted gap:</strong> X, as above, the average difference between groups (e.g. pay difference between white and black engineers)</li>
<li><strong>Unexplained / Adjusted gap:</strong> Y, as above, the difference between groups who vary on some dimension that can’t be explained by that variance (e.g. pay difference between similar white and black engineers)</li>
<li><strong>Explained gap:</strong> X - Y, the portion of the total gap that is explainable by factors other than the trait of interest (e.g. pay difference between white and black engineers explained by factors unrelated to race)</li>
</ul>
<p>Note — the unexplained gap is exactly that, unexplained. We cannot say for certain that the entire unexplained gap between, say, white and black software engineers is due to discrimination on race, for example. If we use different controls, the “unexplained” gap would change. At best, the unexplained gap provides an upper bound estimate of the gap attributable to that trait.</p>
<p>How do we know what to control for? The Stack Overflow survey upon which this analysis is based provides a rich set of data on each developer based on their answers to various questions. It’s too complicated to cover here, but I do principled covariate selection using Double Lasso per (<a href="http://home.uchicago.edu/ourminsky/Variable_Selection">Chernozhukov, Hansen, Urminsky 2016</a>) for find the best set of controls for each gap I examine.</p>
<p>All references to statistical significance are at the p &#x3C; 0.05 level. Confidence intervals are upward skewed because the original regressions used log-transformed income as the dependent variable.</p>
<h3>It gets better every year</h3>
<p>This year’s new and improved analysis comes with the following enhancements:</p>
<ul>
<li><strong>Interactive charts via Plot.ly</strong>
<ul>
<li>Hover over the charts for additional data points</li>
</ul>
</li>
<li><strong>Uncontrolled and controlled differences</strong>
<ul>
<li>Uncontrolled effects correspond to the statement: “Developers of type X earn Y% more than developers of type Z”</li>
<li>Controlled effects correspond to the statement: “All else equal (that we can control for) developers of type X earn Y% more than developers of type Z”</li>
</ul>
</li>
<li><strong>Deep dives into the drivers behind unadjusted pay gaps</strong>
<ul>
<li>Disaggregation of the explainable pay gaps</li>
<li>Decomposition follows methodology of (<a href="https://www.journals.uchicago.edu/doi/abs/10.1086/683668">Gelbach 2016</a>)</li>
</ul>
</li>
</ul>
<p>I am also releasing a developer earnings calculator (coming soon). Answer a few questions, and the calculator will output a pay estimate and confidence range based on the same data in this analysis.</p>
<p>Check out <a href="https://whoisnnamdi.com/highest-paid-software-developer/">last year’s report</a> to see how the numbers changed year-over-year.</p>
<h2>Knowledge (of money) is power</h2>
<p>I do this analysis every year because I think it’s vital to understand how developers, <strong>the basic economic unit of software development</strong>, are compensated and rewarded for their efforts.</p>
<p>By the end of this analysis, you will:</p>
<ul>
<li>Enhance your knowledge and understanding of the factors driving software developer earnings</li>
<li>See why some software engineers are paid more than others</li>
<li>Understand progress on eliminating discrimination in engineering pay</li>
<li>Develop an appreciation for how various factors intermingle and interact</li>
</ul>
<p>I hope this 2020 guide to software engineering pay is valuable to you. The many hours spent conducting and assembling this analysis were certainly valuable to me!</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[How Uber and Lyft Dominated Ridesharing By Seeing Red Where Others Saw Blue]]>
                        </title>
                        <description>
                            <![CDATA[A quick visit to the Red Sea]]>
                        </description>
                        <link>https://whoisnnamdi.com/red-ocean/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/red-ocean/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Wed, 29 Jan 2020 19:21:20 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512188626-91YCWH4jFdL.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Over a decade ago, INSEAD business strategy professors W. Chan Kim and Renée Mauborgne popularized the terms “<a href="https://www.blueoceanstrategy.com/"><strong>blue ocean</strong></a>” — untapped markets where “demand is created rather than fought over”, enabling profitable growth — and “<strong>red ocean</strong>” — zero-sum markets, where every fluid ounce of demand is bitterly fought over, like sharks fighting over a whale carcass.</p>
<p><strong>The early ridesharing market was a deeply red ocean, plagued by price wars, rife with cutthroat tactics, and littered with failed startups.</strong></p>
<p><img src="https://whoisnnamdi.com/content/images/2020/01/red-vs-blue.png" alt="">
<em>Source: BlueOceanStrategy.com</em></p>
<p>However, many entrepreneurs and investors initially saw a blue ocean in the early ridesharing market. Ridesharing was a new, unexplored medium that promised to revolutionize and expand the ground transportation market wherever mobile devices were ubiquitous by “unlocking” pent-up demand for one-tap transportation.</p>
<p>As a young investor, I balked at this characterization. While I agreed on the long-run impact of these next-generation transportation networks, I thought this view was dead wrong in the short-term.</p>
<p>Here's why.</p>
<h2>Demand-driven market growth</h2>
<p>In the simple Economics 101 model of supply and demand, market growth comes in two flavors: demand-driven and supply-driven, characterized by increased willingness to buy or sell respectively at a given price.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/01/Screen-Shot-2019-03-30-at-3.39.22-PM.png" alt="">
<em>(Shaded area represents size of market in dollar terms, i.e. price x quantity = market size)</em></p>
<p>Many people miss the subtlety that the cause (supply or demand) behind the effect (growth) impacts how attractive a market is to new and existing entrants.</p>
<p>More demand translates into both higher prices and volume transacted. Hence, markets growing due to a buildup of demand are highly attractive to new entrants, as businesses can grow without necessarily taking share from others and avoid contentious, competitive battles over market share.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/01/Screen-Shot-2019-03-30-at-3.37.56-PM.png" alt=""></p>
<p>Even with the arrival of new competitors, as long as the increased in demand outstrips the increase in supply, prices, and therefore profits, will be stable or increasing, and we’ll see higher volume of transactions regardless.</p>
<p>This is both exciting to new market entrants and encouraging for existing suppliers.</p>
<p>Demand-driven growth is intuitive. It's what most people associate with a growing market. It’s easy to assume that market growth always comes from consumers demanding more.</p>
<h2>Supply-driven market growth</h2>
<p>However, the sudden growth of ridesharing is better explained by activity on the supply-side — the founding of Uber, Lyft, and an <a href="https://www.inc.com/magazine/201307/christine-lagorio/companies-that-are-like-uber.html">eclectic</a> <a href="http://www.businessofapps.com/news/eight-uber-competitors-reinventing-taxi-apps/">cast</a> of <a href="https://www.nytimes.com/2016/04/14/business/smallbusiness/ride-sharing-start-ups-compete-in-uber-for-children-niche.html">competing</a> <a href="https://www.fastcompany.com/3065089/the-ride-share-startup-thats-competing-with-uber-and-lyft-by-charging-1">startups</a>, all focused on the same market, the same core idea.</p>
<p><strong>Ridesharing was not a demand-side phenomenon.</strong> The market was itself <em>created</em> by the supply-side, which then generated supply-driven growth.</p>
<p>Supply-driven market growth causes prices to decline rather than increase. These price cuts eat away the profitability of suppliers and bar others from entering the market who cannot viably operate at these lower prices — like a sea wall breaking waves before they hit the shoreline.</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/01/Screen-Shot-2019-03-30-at-3.38.08-PM.png" alt=""></p>
<p>Further, gaining share requires either fierce competition along the product or marketing dimension or <a href="https://www.forbes.com/sites/briansolomon/2016/01/25/is-uber-trying-to-kill-lyft-with-a-price-war/">aggressive price cuts</a>. Market share must either be taken from other suppliers, who originated the market growth in the first place, or created by offering the same or better product at lower prices.</p>
<p>The ridesharing market spawned out of the emergence of these new services — new sources of supply.</p>
<p>What funded this <a href="https://en.wikipedia.org/wiki/Cambrian_explosion">Cambrian explosion</a> of ridesharing? <strong>Venture capital.</strong></p>
<p>Capital is a key competitive advantage due to its ability to fund continuous price subsidies. These artificially deflated prices both undercut <a href="https://whoisnnamdi.com/entrepreneurs-ruin/">capital-constrained</a> competitors and drive consumer usage.</p>
<p>Prices down, volume up.</p>
<p>The flood of new customers impresses other investors and attracts more funding, enabling the early winners to cut prices further. Additionally, the increased ridership attracts and retains drivers, whose earning power is enhanced via two-sided network effects about which much has <a href="https://andrewchen.co/marketplace-startups-best-essays/">previously been written</a>.</p>
<p>This completes the virtuous cycle:</p>
<p>Initial innovation → venture capital → lower prices → more usage → venture capital</p>
<h2>Swimming with sharks</h2>
<p><strong>Lyft and Uber correctly saw the nascent ridesharing market as a red ocean.</strong> Despite dreams of a future where spend would shift from personal car purchases to ridesharing, they could not afford to wait for demand to arrive. In the near-term, supply would outpace demand, making the market much more competitive.</p>
<p>Appropriately, Uber and Lyft armed themselves for the fight, raising “<a href="https://www.theverge.com/2013/5/23/4357666/lyft-international-expansion-60-million-andreesen-horowitz">war chests</a>” of capital to fund a ridesharing “<a href="https://www.forbes.com/sites/briansolomon/2016/06/02/uber-is-breaking-all-the-rules-in-its-25-billion-arms-race/#41f2b0e22646">arms race</a>”.</p>
<p>Uber and Lyft expanded aggressively into new cities at a breakneck pace. They <a href="http://nymag.com/intelligencer/2014/07/uberx-cutting-prices-by-20-percent-in-new-york.html">cut prices</a>, then <a href="https://www.vox.com/2015/1/9/7519237/the-48-cities-where-uber-is-cutting-prices">cut them again</a>, and just <a href="http://time.com/4175148/uber-price-drops/">kept on cutting</a>. Already market leaders, they spent generously on <a href="https://www.cnbc.com/2014/07/29/lyfts-sacrifice-for-the-sake-of-its-nyc-launch.html">cash bonuses</a> and other <a href="https://www.uber.com/drive/atlanta/resources/driver-partner-incentive-guarantee-faq-questions/">driver incentives</a>.</p>
<p>In contrast, their early competitors bought into the eventually-true-but-not-yet promise of a <a href="https://medium.com/ipg-media-lab/the-shift-towards-multimodal-transportation-the-future-of-mobility-d0c7c25d4a06">world transformed</a> by app-based transportation, hoping to surf the seemingly blue <a href="https://www.huffpost.com/entry/uber-google-waze-ride-hailing-lyft_n_57c8558fe4b0a22de09485cc">ridesharing wave</a>.</p>
<p>Nothing wrong with being a small fish in a big, blue pond, right?</p>
<p>These hapless ride-surfers didn’t realize supply-side sharks like Uber and Lyft were the entire reason for the wave in the first place.</p>
<p>How did this tidal wave impact other ridesharing startups?</p>
<ul>
<li>Unable to match the subsidized prices, other players failed to attract users</li>
<li>Fewer customers meant lower driver earnings, leading to an exodus of drivers</li>
<li>Sparse supply on the driver-side lengthened wait times, degrading the rider experience, pushing more of them away</li>
<li>Declining usage scared off new investors</li>
<li>Incapable of raising fresh funds, the other fledging ridesharing startups, metaphorically, drowned.</li>
</ul>
<p>The “blue ocean” turned red; the virtuous cycle turned vicious.</p>
<p>Acting with haste and fervor, Uber and Lyft established an insurmountable lead, effectively eliminating their U.S. competition before changing norms and consumer behavior on the demand-side had a chance to catch up.</p>
<p>In other words, they saw red where others saw blue.</p>
<h2>Lessons learned</h2>
<p>A few key takeaways:</p>
<blockquote>
<p><strong>1. Supply is red, demand is blue</strong></p>
</blockquote>
<ul>
<li>A merely growing market is not necessarily an attractive one</li>
<li>The drivers of growth matter more than the level of growth</li>
</ul>
<blockquote>
<p><strong>2. The deep sea requires deep pockets</strong></p>
</blockquote>
<ul>
<li>Capital can often be converted directly into market share</li>
<li>Red ocean markets demand significant capital, as <a href="https://www.reuters.com/article/us-uber-usa/uber-boss-says-u-s-market-unprofitable-amid-tough-competition-from-lyft-idUSKBN1D9348">growth is unprofitable</a> in the short-run</li>
</ul>
<blockquote>
<p><strong>3. Cheap capital and disruptive innovation create supply-side tsunamis</strong></p>
</blockquote>
<ul>
<li>When capital is inexpensive, supply reacts to innovation much faster than demand</li>
</ul>
<p>That the ridesharing market could consolidate so early in its existence is remarkable but also perhaps predictable if one understands it’s supply-side origins.</p>
<p>And despite an evolution of norms around getting into a stranger’s car, Uber and Lyft are <a href="https://mashable.com/article/lyft-ipo-self-driving-cars-investors/">betting big</a> on another supply-side innovation: <a href="https://www.businessinsider.com/uber-lyft-self-driving-taxis-may-not-help-profitability-mit-2019-5">autonomous vehicles</a>.</p>
<p>Why? Again: to push out the supply curve, drive down prices, expand usage, attract capital, and reinvest in more robotaxis.</p>
<p>In other words, it’s the same supply-driven growth story all over again.</p>
<p>That the two ridesharing leaders continue to operate unprofitably at scale only further drives the point home. <strong>This is not a demand-side story and never has been.</strong></p>
<p>This is a cautionary tale for entrepreneurs and investors clamoring to capitalize on the latest “wave”.</p>
<p>Sometimes, the right kind of rose-tinted glasses isn't such a bad thing.</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Pattern Matching is Dead. Long Live People Matching]]>
                        </title>
                        <description>
                            <![CDATA[Venture capital is changing — for the better]]>
                        </description>
                        <link>https://whoisnnamdi.com/people-matching/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/people-matching/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 10 Dec 2019 17:35:27 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512185992-people-matching-2-cropped-2.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>An investor once shared with me a simple framework for the fundamental skills of venture capital:</p>
<ul>
<li>👁 See (the deal)</li>
<li>🧠 Analyze (the deal)</li>
<li>❤️ Win (the deal)</li>
</ul>
<p>Success in VC demands all three. But that doesn’t mean they're equally important.</p>
<h2>👁 Out of sight, out of mind</h2>
<p><img src="https://whoisnnamdi.com/content/images/2019/12/see-2.jpg" alt=""></p>
<p>You can’t analyze a deal you can't see. You also can’t win a deal you can't see.</p>
<p>“Seeing the deal,” also referred to as “deal flow,” continues to be an important differentiator between the best funds and the rest of the pack.</p>
<p>Networks and access are a potent currency in Silicon Valley. As I like to say: <strong>you can be the smartest person in the room, but if you aren’t even in the room, it doesn’t matter.</strong></p>
<p>As such, VC firms want to know about every deal being done, <em>even if they have little interest in doing the deal</em>. They want the option to say no. As in many domains, that optionality is incredibly valuable.</p>
<p>But simple awareness of a fundraise does not do much for you as a VC. These days, it’s often common knowledge that a particular company is fundraising.</p>
<p>Even if you know a deal is going down, there’s no guarantee you will be able to insert yourself into the consideration set of potential partners. I’ve had entrepreneurs directly deny to me they were fundraising when they in fact were, only to admit it after the fundraise announced shortly thereafter.</p>
<p>The concept of an "<a href="https://www.fool.com/investing/general/2014/02/20/whats-in-your-anti-portfolio.aspx">anti-portfolio</a>" proves that even if you see a deal you can still drop the ball.</p>
<p>Many VCs "saw" the Facebook deal. Many VCs "saw" the Google deal. And yet they missed the most explosive growth companies the world has ever seen.</p>
<p><strong>"Seeing" is necessary but not sufficient.</strong></p>
<blockquote>
<p>VC's have always relied on the strength of their networks for dealflow.</p>
<p>As an increasing number of founders come from more diverse backgrounds, VC's will have to change to stay relevant.</p>
<p>More diverse partnerships, more openness towards cold emails, less pattern matching.</p>
<p>— Boris Wertz (@bwertz) <a href="https://twitter.com/bwertz/status/1163885146048569344?ref_src=twsrc%5Etfw">August 20, 2019</a></p>
</blockquote>
<p>I don't mean to deny or discount the value of deal flow. Deal flow is a valuable resource, but it's exactly that — a resource. A resource must be extracted, enriched, and processed. Converting that resource into useful energy requires investment and effort. Otherwise, it remains inert.</p>
<h2>🧠 Signal in the noise</h2>
<p><img src="https://whoisnnamdi.com/content/images/2019/12/analyze-2.jpg" alt=""></p>
<p>Venture capitalists often talk about “pattern matching.” After years of investing and watching startups succeed or fail, VCs supposedly develop a keen sense of what drives success, detecting signals in the noise. These signals can take many forms, but the important claims are:</p>
<ul>
<li>Patterns exist</li>
<li>Patterns are discoverable</li>
<li>Patterns are valuable</li>
</ul>
<p>Pattern matching epitomizes the “analyze” skill.</p>
<p>There are three issues with basing your competitive advantage on pattern matching.</p>
<p>First, pattern matching is rarely differentiated. The important metrics and signs of traction are well-known these days. Increasingly, the “good” founders are obvious — those with the best pedigrees or past successes.</p>
<p>Like in public equities, obvious patterns are priced in. If it’s not priced in — most often — it’s not a real pattern.</p>
<p>This dilutes the value of pattern matching. Suddenly, the well-worn patterns VCs rely on so heavily begin to work against them:</p>
<ul>
<li>The founder’s a Stanford grad? Everyone knows that, it will get priced in.</li>
<li>Previously a Google product manager? Yep, the valuation will reflect that.</li>
<li>Big, fragmented market ripe for consolidation? You bet the final valuation will incorporate this.</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/12/demand-shift-2.png" alt=""></p>
<p>In a competitive environment, patterns carry the seeds of their own impotence.</p>
<p>Second, it’s not at all obvious that pattern matching even helps much at the earliest stage. The drivers of success are indeterminate, and stories abound about ideas that seemed dumb at first but became winners. In some cases, even the VCs who funded the best companies had serious doubts going in.</p>
<p>If even the “smartest guys in the room” are not <em>that smart</em>, we know we have a problem.</p>
<blockquote>
<p>VC pattern matching and startup folklore are the path to mediocrity. Focus on commercial success and let data tell the story. You’ll be the next pattern people try to match. <a href="https://t.co/ggDZJmJWbV">https://t.co/ggDZJmJWbV</a></p>
<p>— bradford cross (@bradfordcross) <a href="https://twitter.com/bradfordcross/status/1043351318566293504?ref_src=twsrc%5Etfw">September 22, 2018</a></p>
</blockquote>
<p>Third, this all assumes the patterns are <em>correct</em> — that they contain some useful information.</p>
<p><em>This too is suspect.</em></p>
<p>Data in VC is notoriously spotty, unreliable, and often unavailable entirely. Tying cause to effect is quite difficult, and success or failure is often over-determined.</p>
<p>In this environment, our natural tendency as humans is to fall back on heuristics. Some of these are helpful, but many are problematic.</p>
<p>Another word for a problematic heuristic is <strong>bias</strong>.</p>
<blockquote>
<p><em>"There’s quite substantial unconscious bias that most of my male investment colleagues don’t see, where if a guy looks and smells the part with the pattern matching, (he) just (gets) such a break" – Linden Rhoads, General Manager of the W Fund (<a href="https://www.bizjournals.com/seattle/blog/techflash/2016/03/how-pattern-matching-by-investors-puts-female.html">Source</a>)</em></p>
</blockquote>
<p>“Pattern matching” seems increasingly tenuous. Either it’s easy and reliable, in which case it gets priced in, or it’s difficult to execute on in practice, making it easy to fool oneself into believing non-existent patterns, almost superstitiously.</p>
<p>Either way, it’s fraught.</p>
<h2>❤️ All I do is win</h2>
<p><img src="https://whoisnnamdi.com/content/images/2019/12/win-2.jpg" alt=""></p>
<p>Venture capital is a match making service.</p>
<p>Winning in modern venture investing fundamentally concerns what I call <strong>“people matching”</strong> — bringing together the right combination of founders and investors to partner on a particular startup or idea.</p>
<p>It’s about the people, not the capital. Yes, capital is also matched or allocated to specific startups, but this function is being commoditized.</p>
<p>Showing up with a checkbook today is no longer cool or particularly notable.</p>
<p><strong>Not all funds can show up with the right partner</strong>, however. A partner the entrepreneur wants to work with. Someone who will make both the founder and the startup better by their presence and involvement.</p>
<p>In this sense, the coveted “partner” title is actually quite fitting.</p>
<p><strong>Partners partner.</strong></p>
<p>In this model, venture capital firms are less allocators of capital — which is currently cheap, plentiful, and most importantly, homogeneous — and more <strong>allocators of people</strong>, who remain differentiated even in this hot house environment.</p>
<p>People are the truly limited and differentiated resource of VC firms. General Partners seek to maximize the capacity of the fund to generate returns for its Limited Partners, but ironically, <strong>it is the General Partners who are “limited”</strong> — there’s only so many of them, and they must be deployed judiciously. And with all the capital flowing around these days, Limited Partners are increasingly <em>unlimited</em>.</p>
<p>Unlike a publicly traded company, which can effectively absorb any amount of capital the market could realistically desire to invest, with prices regulating this flow, the typical startup cannot and does not want to take on every possible dollar from every willing investor. The best deals are often oversubscribed multiple times over. Financing rounds are <a href="https://en.wikipedia.org/wiki/Rivalry_(economics)">rivalrous</a> — <strong>we can’t all do the deal.</strong></p>
<p>The VC who can most quickly convince a founder that they are the right person to partner with will win the deal. And by winning the deal, others, by definition, lose the deal.</p>
<blockquote>
<p>Talking to 43+ funds is a massive waste of time of everyone’s time</p>
<p>Now that access is completely commoditized, closing is the most valuable skill</p>
<p>Founders, find your lead first to remove noise &#x26; get back to work</p>
<p>If it’s unclear what value a participating firm offers, move on. <a href="https://t.co/o4zbodpENL">https://t.co/o4zbodpENL</a></p>
<p>— Brianne Kimmel (@briannekimmel) <a href="https://twitter.com/briannekimmel/status/1201966954090655744?ref_src=twsrc%5Etfw">December 3, 2019</a></p>
</blockquote>
<p>Winning is therefore the fulcrum upon which success in venture turns. Two comparable firms can both see the deal, analyze the deal “correctly”, and yet only one may win the deal in the end. The firm that does a better job of <strong>people matching</strong> will, in the end, triumph.</p>
<p>This is why winning matters so much.</p>
<h2>👥 More skin in a new game</h2>
<p>Venture capital is evolving from a game of picking winners to a game of <em>being picked by winners</em>.</p>
<p>Authentic relationships and credible ability to add value matter more than ever.</p>
<p>Venture capital is no longer where one goes to retire quietly after an illustrious operating career. It’s where one goes to <em>hustle</em>.</p>
<blockquote>
<p>Pushing to win an investment I really want. Might lose it.</p>
<p>Founder in driver's seat. Some investors complain, I love it. Some call this a bubble, but everyone is being rational.</p>
<p>Founder/investor dynamic is reaching equilibrium and this is how it should be.</p>
<p>— Paul Murphy (@paulbz) <a href="https://twitter.com/paulbz/status/1196914235059691521?ref_src=twsrc%5Etfw">November 19, 2019</a></p>
</blockquote>
<p>I think this is a positive trend, encouraging deeper empathy between investors and founders. If anything, bringing VCs down a peg might humanize them — the gilded kings and queens of Silicon Valley become the humble servants of entrepreneurs.</p>
<p>There’s some moral justice in this. I’ve always been irked by the very different lives lived by founders and their investors:</p>
<ul>
<li>One is concentrated, the other is diversified</li>
<li>One is expected to fail, the other is expected to at least breakeven</li>
<li>One is a beggar, the other is a chooser</li>
</ul>
<p>This is out of balance. Entrepreneurs hustle, <strong>why shouldn't VCs?</strong></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[High Retention = High Volatility]]>
                        </title>
                        <description>
                            <![CDATA[Why SaaS revenue retention is a double-edge sword]]>
                        </description>
                        <link>https://whoisnnamdi.com/high-retention-high-volatility/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/high-retention-high-volatility/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 04 Nov 2019 18:39:50 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512184302-volatility.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <blockquote>
<p>"With great retention comes great volatility" – Uncle Ben in Spiderman</p>
</blockquote>
<p>OK – that's not <em>exactly</em> what Uncle Ben said, but it makes an important point: <strong>retention is a double-edged sword.</strong></p>
<p>Higher retention means customers stick around and pay you longer. Customers paying you more over time is even better.</p>
<p>Improving retention increases the value of your business, all else equal.</p>
<p>However, <strong>higher retention also drives higher valuation volatility.</strong></p>
<p>The reason is clear to anyone who’s ever traded bonds.</p>
<h2>Cohort Math = Bond Math</h2>
<p><img src="https://images.unsplash.com/photo-1535320903710-d993d3d77d29?ixlib=rb-1.2.1&#x26;q=80&#x26;fm=jpg&#x26;crop=entropy&#x26;cs=tinysrgb&#x26;w=2000&#x26;fit=max&#x26;ixid=eyJhcHBfaWQiOjExNzczfQ" alt=""></p>
<p>A cohort of customers can be likened to financial security – a bond paying you some amount periodically, perhaps indefinitely.</p>
<p>This “interest rate” fluctuates – it changes over time. Some customers cancel, churning out, and others maintain or even increase the size of their subscription, paying more over time. Positive churn implies these payments decline over time, while negative churn implies the opposite.</p>
<p>A bond has some value associated with it, which is roughly equal to the <a href="https://www.investopedia.com/terms/p/presentvalue.asp">present discounted value</a> of all the future payments from the bond.</p>
<p>This value <a href="https://www.thebalance.com/why-do-bond-prices-and-yields-move-in-opposite-directions-417082">varies inversely</a> with the effective interest rate or yield of the bond. Similarly the value of a stream of cash flows varies inversely with the discount rate applied, or in the case of a company, its <a href="https://hbr.org/2015/04/a-refresher-on-cost-of-capital">cost of capital</a>.</p>
<p>This sensitivity to interest rates increases with the tenure of the bond. In others words, the value of a 30-year bond is more sensitive to interest rates than that of a 10-year bond.</p>
<p>In finance, this concept is called <a href="https://www.blackrock.com/us/individual/education/understanding-duration"><strong>duration</strong></a>. Duration measures the sensitivity of the value of a bond to a change in interest rates, which is tied to the lifetime of the bond. Bonds with longer tenure or back-loaded cash flows are more sensitive to changes in interest rates.</p>
<p>Due to the <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">multiplicative nature</a> of discounting, the present value of far-away payments is more sensitive to a change in interest rates than the value of soon-to-come payments.</p>
<p>This is exactly the situation companies with high retention face.</p>
<h2>Cohort Lifetime = Bond Duration</h2>
<p><strong>With higher retention, more and more of the value of an acquired customer comes from its later years of life.</strong></p>
<p>Again, the present value of these later years is more sensitive to changes in the discount rate applied to the cash flows, due to the <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">compounding of discounting</a>.</p>
<p>Since all companies are on some level simply a collection of various customer cohorts with variable and fixed costs layered on, the summed value of the individual cohorts determines the overall company's valuation.</p>
<p>Hence, the better your retention, the more sensitive and volatile your valuation is to changes in your discount rate or cost of capital. This contrasts with a high-churn company where customers last only a few months or years.</p>
<p><strong>Let’s break out the spreadsheet and prove this to ourselves:</strong></p>
<ul>
<li>Imagine we acquire a cohort of customers who pay an annual amount growing or contracting at some constant yearly rate, which represents our revenue retention</li>
<li>Let’s assume this expansion or contraction continues for 10 years, after which the revenue collected flattens out</li>
<li>Lastly, we assume some discount rate or cost of capital, which we will use to discount the value of those payments back to the present</li>
</ul>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515732895-DraggedImage-1.png" alt=""></p>
<p>Now we ask the question: assuming a base discount rate of 10%, how would an increase to 15% or 20% impact the present value of the cohort’s revenue stream?</p>
<p>The answer is quite dramatic:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515734295-DraggedImage-2.png" alt=""></p>
<p><strong>For a company with strong net retention of 130% (-30% revenue churn), an increase in discount rate from 10 to 15% cuts the company’s valuation in half.</strong></p>
<p>Notice how a company with 30% annual revenue churn only sees a 10% impact from a similar change in discount rate. This reflects the non-linear impact of the discount rate with respect to retention described earlier:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515735596-DraggedImage-3.png" alt=""></p>
<h2>Theory → Reality</h2>
<p>Many SaaS companies have gone public this year with strong net retention metrics of 100%+.</p>
<p>In recent months, however, these same companies have seen their valuations tank, often without any meaningful changes in operational performance.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515741313-image.png" alt="">
<em>Source: Jon Ma @ Public Comps</em></p>
<p>While some point to this as an example of the “<a href="https://theconversation.com/fallout-from-weworks-failed-ipo-shows-the-folly-of-excessive-valuations-125014">WeWork Effect</a>”, these business are so fundamentally different in both business models and business performance that WeWork’s troubles cannot possibly explain these haircuts.</p>
<p>Let’s go a level deeper. If lower churn leads to higher volatility we should be able to see it in the data.</p>
<p>I assembled the following set of SaaS stocks, finding their latest revenue growth and net retention data, along with the price decline they saw from 9/21 to 10/21.</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515736888-DraggedImage-4.png" alt=""></p>
<p>If the theory is true, we should see companies with higher net revenue retention declined further in the recent valuation pullback.</p>
<p>That’s exactly what we see:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515739047-DraggedImage-5.png" alt=""></p>
<p><strong>Higher revenue retention, bigger valuation cut.</strong> On average, 10% higher retention lead to an additional 3.4% decline in price. The relationship is statistically significant at p &#x3C; 0.05 (in case you were wondering), and the "low" R-squared of 0.36 simply means you can't explain all of the variation in or predict the level of price change using only this single variable, despite the strong relationship. Given public stock movements are notoriously difficult to predict, this is not surprising.</p>
<p>And for good measure, if we decompose overall growth and examine the component reflecting only the addition of new customers (1 + overall growth - net retention), we see little correlation with the recent movement in SaaS stocks:</p>
<p><img src="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766515743781-image-1.png" alt=""></p>
<h2>It’s all about retention</h2>
<p>Both in theory and in practice, <strong>better retention drives higher volatility.</strong></p>
<p>Why does this matter?</p>
<p>The Federal Reserve recently <a href="https://www.wsj.com/articles/fed-cuts-rates-by-quarter-point-11572458556">cut interest rates</a> for the third time this year.</p>
<p><strong>The era of low interest rates won't last.</strong> If interest rates or the cost of capital spike, SaaS valuations will necessarily decline.</p>
<p>Keep this is mind when evaluating high-flying SaaS investments or the value of your company's equity: <strong>those with the best retention metrics will see the biggest drops.</strong></p>
<hr>
<p>If you want to comment, like or share this post you can use this tweet:</p>
<blockquote>
<p>With great retention... comes great volatility 💣</p>
<p>Volatility increases as SaaS revenue retention improves 📈</p>
<p>Retention is therefore a double-edge sword ⚔️</p>
<p>How and why companies with strong revenue retention see the greatest volatility 📉:<a href="https://t.co/RIPIjngWPs">https://t.co/RIPIjngWPs</a></p>
<p>— Nnamdi Iregbulem (@whoisnnamdi) <a href="https://twitter.com/whoisnnamdi/status/1191487947528269827?ref_src=twsrc%5Etfw">November 4, 2019</a></p>
</blockquote> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Waitlists are a Vanity Metric]]>
                        </title>
                        <description>
                            <![CDATA[Waitlists, registered users, and other cumulative measures better measure the size of your pride than the size of your business]]>
                        </description>
                        <link>https://whoisnnamdi.com/waitlists-are-a-vanity-metric/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/waitlists-are-a-vanity-metric/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Sun, 28 Jul 2019 19:33:48 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512178757-vanity-4.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Waitlists, registered users, and other cumulative measures are vanity metrics.</p>
<p>By vanity – I mean they better measure the size of your <em>pride</em> than the size of your <em>business</em>.</p>
<p>First-year MBA operations courses emphasize that long lines should be avoided and certainly not optimized for.</p>
<p>Unless you are in fact a vanity or “prestige” product, bragging about these metrics destroys your credibility in the eyes of potential investors.</p>
<p>Most importantly, in paying them too much attention, you fool, distract, and mislead your most gullible stakeholder – yourself.</p>
<blockquote>
<p>The first principle is that you must not fool yourself – and you are the easiest person to fool – Richard Feynman</p>
</blockquote>
<p>Be kind to your potential customers, your investors, and yourself – <strong>ignore these misleading numbers</strong>.</p>
<p>Cumulative metrics are problematic for many reasons. The main two are:</p>
<ul>
<li>They almost never decrease – <em>by design</em></li>
<li>They have <em>zero</em> intrinsic correlation to customer value</li>
</ul>
<h2>If it can't decline, it's not worth your time</h2>
<blockquote>
<p>To have weight, a metric should be capable of moving in either direction – up or down.</p>
</blockquote>
<p>An easily gamed number that can only move in one direction is problematic. Most cumulative metrics have this feature.</p>
<p>A measure that moves up or down with the health of the business is a valuable signal – both in terms of its <em>level</em> and its <em>change</em> (or rather rate of change).</p>
<p>That its level is X, instead of Y or Z, tells us something. That it grew by X% last month also tells us something. That "something" is much more informative when X can move up or down and X% can be positive or negative.</p>
<p>Classic examples include monthly revenue, paying users, monthly expenses per employee, or annual profits.</p>
<p>On the other hand, total registered users – people who’ve created an account for a website or app but don’t necessarily pay for it – never declines unless users un-register themselves. This rarely happens.</p>
<p>In practice, the registered user count grows and grows, with no regard to whether the business is improving. Hence, both its level and its change provide little information.</p>
<p>Waitlists are functionally similar. They exist to signal attractiveness to third parties but are completely manipulable.</p>
<p>The size of a waitlist never declines unless you want it to. The outflow is entirely in your control.</p>
<p>If you never want your waitlist to shorten, <em>stop accepting new users off the waitlist</em>. Mission complete.</p>
<p>As such, waitlists are mostly a rebrand of "cumulative registered users".</p>
<p>Having a long waitlist <em>sounds</em> cool, but a waitlist alone is little more than a list of opt-in email addresses saved in a CSV file on your desktop or, better yet, “in the cloud” somewhere.</p>
<h2>A true business imposes costs on its customers and delivers value in return</h2>
<blockquote>
<p>The cost customers willfully bear to interact with your business implies value delivered. Those costs historically came in the form of dollars but increasingly take the form of attention or time.</p>
</blockquote>
<p>If a customer isn’t giving you their money, attention, or time, <strong>they’re not a customer.</strong></p>
<p>You can call them registered users, opt-ins, friendly acquaintances – it doesn’t really matter.</p>
<p>But they’re not customers.</p>
<p>Adding oneself to a digital waitlist imposes almost no cost. If anything, it’s a free option – maybe I’ll sign up once the service is available, maybe I won’t.</p>
<p>When a human being accepts a free option, we call that person “rational”. We don’t call them a “customer”.</p>
<p>Like selling dollars for 75 cents, there is no signal in handing out free options.</p>
<p>Flaunting the length of your waitlist is like bragging about raising $10M from investors with no plans to do anything with the money. This is why bankers subtract <strong>cash</strong> from <strong>equity value</strong> when calculating <strong>enterprise value</strong> – quite literally, how much your business is worth.</p>
<p>In the preceding example, your <em>equity value</em> might be $10M, but your <em>enterprise value</em> would be a flat $0. You’ve delivered zero additional value to your investors.</p>
<p>Adding 10,000 people to your waitlist but not doing anything with those users is similarly worthless.</p>
<h2>How to make your waitlist valuable</h2>
<p>I know what you’re thinking – “but what if I’m…"</p>
<ul>
<li>Fundraising and want to give investors every possible reason to write a check</li>
<li>A fledgling startup without many options for measuring progress</li>
<li>Bored and just like staring at numbers (guilty as charged)</li>
</ul>
<p>Not all is lost – paired with other metrics waitlists can in fact be a signal of business value.</p>
<ul>
<li><strong>Example:</strong> the proportion of people taken off the waitlist who subscribe or purchase the product</li>
</ul>
<p>This provides some directional sense of future value – if we let X people off the waitlist we’ll gain Y customers. That Y/X ratio is a <strong>conversion rate</strong>.</p>
<p>Who knows if that conversion rate will hold across the entire waitlist – it probably won’t – but at least we know the waitlist has some value and isn’t pure vanity.</p>
<ul>
<li><strong>Another example:</strong> charge people for reserving a spot in line like Tesla did for the Model 3</li>
</ul>
<p>That hundreds of thousands of people were willing to put down a deposit before ever touching, let alone driving, the car was a huge signal.</p>
<p>That spot in line was valuable to customers, and they manifested that value by forking over thousands of dollars years in advance of the launch. Investors, too, saw value, rewarding Tesla with a higher valuation.</p>
<p>Notice a pattern? To make waitlists useful, <strong>link them to customer value</strong>.</p>
<h2>Don’t wait</h2>
<p>That slide in your pitch deck where you mention how large your waitlist is? Unless you can tie it to customer value, <strong>delete it</strong>.</p>
<p>Heard about some hot startup with a waitlist 10X as long as yours? <strong>Ignore it</strong>.</p>
<p>By distancing yourself from the raucous noise of waitlists and other cumulative measures – you refocus your attention on the true signal of entrepreneurial success – <strong>delivering value to customers</strong>.</p>
<p>Ship them a product. Provide them a service.</p>
<p>But please, don't just hand them a ticket with a number on it and call it a day – or a business.</p>
<p><em>This post has been published on <a href="https://www.productschool.com">www.productschool.com</a> communities.</em></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[How to Conquer Cohort Analysis With a Powerful Clinical Research Tool]]>
                        </title>
                        <description>
                            <![CDATA[]]>
                        </description>
                        <link>https://whoisnnamdi.com/how-to-conquer-cohort-analysis/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/how-to-conquer-cohort-analysis/</guid>
                        <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Mon, 03 Jun 2019 12:00:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512172481-lucas-vasques-453684-unsplash.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><strong>Understanding cohort performance is critical for modern, high-velocity businesses, especially those with subscription or recurring revenue models.</strong></p>
<p>In SaaS or consumer subscription settings, small changes in churn can <a href="https://www.forentrepreneurs.com/why-churn-is-critical-in-saas/?fbclid=IwAR3RmfnV8ek0lDyyWwEXdkHNJhJxXymIN-hJeuo32c3cYekTnQOgLvAryi4">radically impact revenue growth</a>.</p>
<p>Product managers, growth hackers, marketers, data scientists, and investors all need to understand how business decisions impact user retention.</p>
<p>With so many recurring revenue businesses going public, Silicon Valley <em>should</em> get the picture by now.</p>
<p>Believe it or not, however, <strong>medical researchers measure customer retention better than you do.</strong></p>
<p>What?</p>
<p>Sounds bold, but it’s not. Over decades, clinical researchers have refined precise and rigorous ways of measuring retention—except instead of <em>customer</em> retention, they measure <em>patient survival</em>.</p>
<p>The gravity of life and death means researchers take great care in measuring treatment efficacy.</p>
<p>To do this, clinical researchers use a statistical method called the <a href="https://en.wikipedia.org/wiki/Kaplan%E2%80%93Meier_estimator"><strong>Kaplan-Meier estimator</strong></a>. The formula elegantly solves a frequent issue that pops up in cohort retention analysis: <strong>making valid comparisons within and across groups of cohorts of different lifespans</strong>:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -2.932ex;" xmlns="http://www.w3.org/2000/svg" width="22.07ex" height="6.211ex" role="img" focusable="false" viewBox="0 -1449.5 9754.8 2745.5" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-I-1D446" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path><path id="MJX-1-TEX-SO-2C6" d="M279 669Q273 669 142 610T9 551L0 569Q-8 585 -8 587Q-8 588 -7 588L12 598Q30 608 66 628T136 666L277 744L564 587L555 569Q549 556 547 554T544 552Q539 555 410 612T279 669Z"></path><path id="MJX-1-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-1-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-1-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-LO-220F" d="M220 812Q220 813 218 819T214 829T208 840T199 853T185 866T166 878T140 887T107 893T66 896H56V950H1221V896H1211Q1080 896 1058 812V-311Q1076 -396 1211 -396H1221V-450H725V-396H735Q864 -396 888 -314Q889 -312 889 -311V896H388V292L389 -311Q405 -396 542 -396H552V-450H56V-396H66Q195 -396 219 -314Q220 -312 220 -311V812Z"></path><path id="MJX-1-TEX-I-1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path id="MJX-1-TEX-N-3A" d="M78 370Q78 394 95 412T138 430Q162 430 180 414T199 371Q199 346 182 328T139 310T96 327T78 370ZM78 60Q78 84 95 102T138 120Q162 120 180 104T199 61Q199 36 182 18T139 0T96 17T78 60Z"></path><path id="MJX-1-TEX-N-A0" d=""></path><path id="MJX-1-TEX-N-2264" d="M674 636Q682 636 688 630T694 615T687 601Q686 600 417 472L151 346L399 228Q687 92 691 87Q694 81 694 76Q694 58 676 56H670L382 192Q92 329 90 331Q83 336 83 348Q84 359 96 365Q104 369 382 500T665 634Q669 636 674 636ZM84 -118Q84 -108 99 -98H678Q694 -104 694 -118Q694 -130 679 -138H98Q84 -131 84 -118Z"></path><path id="MJX-1-TEX-S3-28" d="M701 -940Q701 -943 695 -949H664Q662 -947 636 -922T591 -879T537 -818T475 -737T412 -636T350 -511T295 -362T250 -186T221 17T209 251Q209 962 573 1361Q596 1386 616 1405T649 1437T664 1450H695Q701 1444 701 1441Q701 1436 681 1415T629 1356T557 1261T476 1118T400 927T340 675T308 359Q306 321 306 250Q306 -139 400 -430T690 -924Q701 -936 701 -940Z"></path><path id="MJX-1-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-1-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-1-TEX-I-1D451" d="M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z"></path><path id="MJX-1-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-1-TEX-S3-29" d="M34 1438Q34 1446 37 1448T50 1450H56H71Q73 1448 99 1423T144 1380T198 1319T260 1238T323 1137T385 1013T440 864T485 688T514 485T526 251Q526 134 519 53Q472 -519 162 -860Q139 -885 119 -904T86 -936T71 -949H56Q43 -949 39 -947T34 -937Q88 -883 140 -813Q428 -430 428 251Q428 453 402 628T338 922T245 1146T145 1309T46 1425Q44 1427 42 1429T39 1433T36 1436L34 1438Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="TeXAtom" data-mjx-texclass="ORD"><g data-mml-node="mover"><g data-mml-node="mi"><use data-c="1D446" xlink:href="#MJX-1-TEX-I-1D446"></use></g><g data-mml-node="mo" transform="translate(413.8,259) translate(-278 0)"><use data-c="2C6" xlink:href="#MJX-1-TEX-SO-2C6"></use></g></g></g><g data-mml-node="mo" transform="translate(645,0)"><use data-c="28" xlink:href="#MJX-1-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(1034,0)"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(1395,0)"><use data-c="29" xlink:href="#MJX-1-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(2061.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="munder" transform="translate(3117.6,0)"><g data-mml-node="mo" transform="translate(315.6,0)"><use data-c="220F" xlink:href="#MJX-1-TEX-LO-220F"></use></g><g data-mml-node="TeXAtom" transform="translate(0,-1084.4) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D456" xlink:href="#MJX-1-TEX-I-1D456"></use></g><g data-mml-node="mo" transform="translate(345,0)"><use data-c="3A" xlink:href="#MJX-1-TEX-N-3A"></use></g><g data-mml-node="mtext" transform="translate(623,0)"><use data-c="A0" xlink:href="#MJX-1-TEX-N-A0"></use></g><g data-mml-node="msub" transform="translate(873,0)"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g><g data-mml-node="mi" transform="translate(394,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-1-TEX-I-1D456"></use></g></g><g data-mml-node="mo" transform="translate(1561,0)"><use data-c="2264" xlink:href="#MJX-1-TEX-N-2264"></use></g><g data-mml-node="mi" transform="translate(2339,0)"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g></g></g><g data-mml-node="mrow" transform="translate(5193.4,0)"><g data-mml-node="mo" transform="translate(0 -0.5)"><use data-c="28" xlink:href="#MJX-1-TEX-S3-28"></use></g><g data-mml-node="mn" transform="translate(736,0)"><use data-c="31" xlink:href="#MJX-1-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(1458.2,0)"><use data-c="2212" xlink:href="#MJX-1-TEX-N-2212"></use></g><g data-mml-node="mfrac" transform="translate(2458.4,0)"><g data-mml-node="msub" transform="translate(260,676)"><g data-mml-node="mi"><use data-c="1D451" xlink:href="#MJX-1-TEX-I-1D451"></use></g><g data-mml-node="mi" transform="translate(553,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-1-TEX-I-1D456"></use></g></g><g data-mml-node="msub" transform="translate(220,-686)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-1-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D456" xlink:href="#MJX-1-TEX-I-1D456"></use></g></g><rect width="1127" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(3825.4,0) translate(0 -0.5)"><use data-c="29" xlink:href="#MJX-1-TEX-S3-29"></use></g></g></g></g></svg></mjx-container>
<p>Despite the fancy formula, survival analysis using Kaplan-Meier (KM) is actually quite simple and delivers much better results than other methods:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/05/4.png" alt="4"></p>
<p>In this post I'll explain these results, breakdown the KM estimator in simple terms, and convince you to use it for retention analysis.</p>
<p>The bottom-line: <strong>if you are an operator or investor who wants to properly measure customer cohort retention, Kaplan-Meier is the way to do it.</strong></p>
<h2>Two inevitabilities: Death and Churn</h2>
<p>The core problem the KM estimator helps us deal with is <strong>missing data</strong>.</p>
<p><strong>Cohort data is inherently flawed in that more recent cohorts have fewer data points to compare against older cohorts</strong>. For example, a five-month-old cohort can only be compared with the first five months of a ten-month-old cohort. The retention rates of a cohort of customers acquired seven months ago can only reasonably be compared to the first seven month retention of older cohorts.</p>
<p>Imagine you had the full retention history of the previous 12 monthly cohorts and you wanted to predict the 12-month retention curve of a newly acquired customer. It’s not at all obvious how to do this.</p>
<p>To understand this better, let’s visualize a simpler example with only five cohorts:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/05/1.png" alt="1"></p>
<p>You might first try to calculate average retention across cohorts. This is problematic for two reasons:</p>
<ul>
<li>The simple average will not be representative if our cohorts differ in size</li>
<li>For any given month we can only average over cohorts that have been alive at least that long, so we effectively average over fewer and fewer cohorts over time</li>
</ul>
<p>We can see the second issue below. With both the simple and weighted average, we get strange results when performance oscillates across cohorts:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/05/2-1.png" alt="2-1"></p>
<p>Assuming we don’t re-add returning users who previously churned into their original cohort, retention cannot possibly tick up after declining—it’s a one way street. This is an artifact of our flawed method, as 5-month retention cannot exceed 4-month retention by definition.</p>
<p>A third, related problem arises when comparing groups of cohorts to other groups, for example, comparing 2016’s group of monthly cohorts to 2017’s. As we’ve just shown, using averages to estimate retention curves for each group doesn’t work, which means we also cannot compare one group to another.</p>
<h2>Questions? Ask your doctor</h2>
<p><img src="https://whoisnnamdi.com/content/images/2019/05/ani-kolleshi-684082-unsplash.jpg" alt="ani-kolleshi-684082-unsplash"></p>
<p>Believe it or not, clinical researchers deal with this same issue all the time.</p>
<p>Customer cohorts are analogous to groups of patients starting treatment at different times. Here the “treatment” is the time of customer acquisition and “death” is simply churn.</p>
<p>Or, imagine if the “2016 cohorts” and “2017 cohorts”, rather than being year-grouped cohorts, were groups receiving different treatments in a clinical trial. We want to quantify differences in patient survival rates (customer retention) between the two groups.</p>
<p>Pharmaceutical companies and other research outfits regularly contend with this. Patients start treatment at different times. Patients drop out of studies, by dying, but also by moving locations or deciding to stop taking the medication.</p>
<p>This creates a host of missing data issues at the beginning, middle, and end of any patient’s clinical test record, complicating analysis of effectiveness and safety.</p>
<p>To solve this problem, in 1958, a mathematician, <a href="https://en.wikipedia.org/wiki/Edward_L._Kaplan">Edward Kaplan</a>, and statistician, <a href="https://www.chicagotribune.com/news/ct-xpm-2011-08-18-ct-met-meier-obit-20110818-story.html">Paul Meier</a>, jointly created the <a href="https://www.tandfonline.com/doi/abs/10.1080/01621459.1958.10501452">Kaplan-Meier estimator</a>. Also called the <em>product-limit estimator</em>, the method effectively deals with the missing data issue, providing a more precise estimate of the probability of survival up to any point.</p>
<p><a href="http://biostat.mc.vanderbilt.edu/wiki/pub/Main/ClinStat/km.lam.pdf">The core idea behind Kaplan-Meier</a>:</p>
<blockquote>
<p>The estimated probability of surviving up to any point is the cumulative probability of surviving each preceding time interval, calculated as the product of the preceding survival probabilities</p>
</blockquote>
<p>That strange formula above is simply multiplying a bunch of probabilities against one another to find the cumulative probability of survival at a certain point.</p>
<p>Where do these probabilities come from? <strong>Directly from the data</strong>.</p>
<p>KM says our best estimate of the probability of survival from one month to the next is exactly the weighted average retention rate for that month in our dataset (also called the <a href="https://towardsdatascience.com/a-gentle-introduction-to-maximum-likelihood-estimation-9fbff27ea12f"><em>maximum likelihood estimator</em></a> in statistics parlance). So if in a group of cohorts we have 1000 customers from month one, of which 600 survive until month two, our best guess of the “true” probability of survival from month 1 to 2 is 60%.</p>
<p>We do the same for the next month. Divide the number of customers that survived through month 3 by the number of customers who survived through month 2 to get the estimated probability of survival from month 2 to 3. If we don’t have month 3 data for a cohort because it’s only two months old, we exclude those customers from our calculations for month 3 survival.</p>
<p>Repeat for as many cohorts / months as you have, excluding in each calculation any cohorts missing data for the current period. Then, to calculate the probability of survival through any given month, multiply the individual monthly (<a href="https://www.khanacademy.org/math/statistics-probability/probability-library/conditional-probability-independence/v/calculating-conditional-probability">conditional</a>) probabilities up through that month.</p>
<p>Though a morbid thought, measuring patient survival is functionally equivalent to measuring customer retention, so we can easily transfer KM to customer cohort analysis!</p>
<h2>Putting Kaplan-Meier to the test</h2>
<p>Let’s make this clearer by applying the Kaplan-Meier estimator to our previous example.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/05/3-1.png" alt="3-1"></p>
<p>The probability of surviving month 1 is <strong>69%</strong> (total customers alive in month 1 divided by total in month 0). The probability of surviving month 2, given a customer survived month 1, is <strong>72%</strong> (total customers alive in month 2 divided by total in month 1, excluding the last cohort which is missing month 2 data). So the cumulative probability of surviving at least two months is 69% x 72% = <strong>50%</strong>. Rinse, wash, and repeat for each subsequent month.</p>
<p>Side-by-side comparison reveals the superiority of KM:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/05/4.png" alt="4"></p>
<p>What’s great about KM is it leverages all the data we have, even the younger cohorts for whom we have fewer observations. For example, while the average of all the available cohorts at month 3 only uses the data for cohorts 1-3, due to its cumulative nature, the KM estimator effectively incorporates the improved early retention of the newer cohorts. This yields a 3-month retention estimate of 38%, which is higher than any of the cohorts we can actually measure at month 3.</p>
<p><strong>This is exactly what we want</strong>—cohorts 4 and 5 are both larger and better retaining than 1-3. Hence, it is likely that the 3-month retention rate for a random customer picked among these cohorts will exceed the historical average, as the customer will likely be in cohorts 4 or 5.</p>
<p>Using all the data is also nice because it makes our estimates of the tail probabilities much more precise than if we could only rely on the data of customers who we retained that long.</p>
<p>Kaplan-Meier curves also fixes the wonky behavior in the right tail of the retention curve by respecting a <a href="https://www.investopedia.com/terms/c/compound-probability.asp">fundamental law of probability</a>: cumulative probabilities can only decline as you multiply more numbers.</p>
<h2>Recommended by 95% of doctors</h2>
<p>This analysis could easily be extended. Let’s go back to the 2016 vs 2017 example—we could run the Kaplan-Meier calculation on each respective group of cohorts and then compare the resulting survival curves, highlighting differences in expected retention between the two groups.</p>
<p>While I won’t cover it here, you can also calculate <a href="https://math.unm.edu/~james/w4.pdf">p-values, confidence intervals, and statistical significance tests</a> for Kaplan-Meier curves. This lets you to make rigorous statements like “the improvement of cohort retention in 2018 relative to 2017 was statistically significant (at the 5% level)”—cool stuff:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/05/5.png" alt="5"></p>
<p><strong>Kaplan-Meier is a powerful tool for anyone who spends time analyzing customer cohort data.</strong> KM has been battle-tested in rigorous clinical trials—if anything it’s surprising it hasn’t caught on more among technology operators and investors.</p>
<p>If you're a product manager, growth hacker, marketer, data scientist, investor, or anyone else who understands the deep importance of customer retention analysis, the Kaplan-Meier estimator should be a valuable weapon in your analytics arsenal.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Entrepreneur's Ruin, or How Not to Go Bust]]>
                        </title>
                        <description>
                            <![CDATA[]]>
                        </description>
                        <link>https://whoisnnamdi.com/entrepreneurs-ruin/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/entrepreneurs-ruin/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 28 Feb 2019 00:09:39 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512167670-jonathan-petersson-614702-unsplash.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <h1>Managing risk is hard work.</h1>
<p>In evaluating potential opportunities, leaders must consider both <em>probability</em> (the odds of success) and <em>criticality</em> (the importance of success).</p>
<p>We can arrange these opportunities on a matrix, with "necessity for survival" on the x-axis and "probability of success" on the y-axis:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/matrix-3.png" alt=""></p>
<p>In industry, we often talk about “critical processes”—the things that must go right, otherwise chaos ensues (we go bust, our customers abandon us, we lose our best employees en masse, etc).</p>
<p>Business leaders often fall for the seductive fallacy that “if we only maximize the probability of success” of these critical processes, all will be right in the world:</p>
<p><img src="https://whoisnnamdi.com/content/images/2020/04/prob-up-3.png" alt=""></p>
<p><strong>This is wrong.</strong></p>
<p>Why?</p>
<p>Because over long periods, <strong>the only certainty in life is uncertainty.</strong></p>
<p>Even if we achieve a 99% probability of success in a particular critical activity—with time—the 1% outcome will be realized, and we will go bust.</p>
<p>Take banking for example. Prior to the advent of <a href="https://www.fdic.gov/deposit/">deposit insurance</a>, retail banks went bust with regularity. Any given bank was stable and solvent 99% of the time. However, 1% of the time, some internal or external forcing function would sweep numerous banks into the trash heap overnight.</p>
<p>It didn’t matter that things “worked out” most of the time. Deposits are a capital constraint for the bank. A single run on the bank was enough to bankrupt the firm.</p>
<p>99.9% of days, the banker wakes up at 6am, looks out the window at the bright, rising sun, and goes on with their day.</p>
<p>But inevitably, one evening the banker is rudely roused in the dead of night by the rancorous roar of a mob demanding their money back.</p>
<h2>Winning the battle but losing the war</h2>
<p>The fundamental error is in seeing the world as:</p>
<ul>
<li><em>static</em> (a single game, never to be repeated -> probability of success dominates -> win the battle, even if <a href="https://en.wikipedia.org/wiki/Pyrrhic_victory">pyrrhic</a>) rather than</li>
<li><strong>dynamic</strong> (repeated games, you need to still be alive in order to play -> survival dominates -> survive the battle, win the war)</li>
</ul>
<p>This is why it’s foolish to focus solely on maximizing the probability of success of any given “critical” initiative.</p>
<p>At best, maximizing the probability of success clips your potential upside. If you already know something will work, you can never be positively surprised:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/02/ruin-probability-2.png" alt=""></p>
<p>Instead, <em>reduce</em> the number of activities that your business is fragile to or dependent on. We need to <em>cut down</em> the number of critical processes—not maximize the odds of their successful completion.</p>
<p><em>Survival</em> is the only critical process.</p>
<p>Only by reducing the surface area and impact of potential failure, rather than the odds of failure, do we ensure survival.</p>
<p>How?</p>
<p><strong>Aggressive elimination of single points of failure or vulnerability.</strong></p>
<h2>Don’t hate the game, hate the constraint</h2>
<p>Commentators describe Silicon Valley and entrepreneurship as a “lottery” or “casino” with stacked odds disfavoring any individual entrepreneur or startup.</p>
<p>The issue is not the game itself, however. The problem is ruin—specifically, <a href="https://en.wikipedia.org/wiki/Gambler%27s_ruin">gambler’s ruin</a>.</p>
<p>A gambler facing a series of risky bets under a capital constraint will eventually go broke, with certainty. With enough time, the gambler will hit a bad streak, cratering to zero. This can be true even if each bet has a positive expected value.</p>
<p>Like the banks referenced above, the gambler “needs” capital. If the bank account ever hits zero, it’s game over.</p>
<p>The same is true in business, especially early-stage entrepreneurship.</p>
<p>The reason so many startups go bust is not, as is commonly believed, because they have “low odds of success”.</p>
<p>The reason so many startups fail is because they have too many <em>needs</em>.</p>
<p>In other words, startups are <strong><a href="https://psychcentral.com/blog/what-does-it-really-mean-to-be-needy/">too needy</a></strong>.</p>
<p>Many startups today need most or all the following to succeed:</p>
<ul>
<li>Product-market fit</li>
<li>Great founding team</li>
<li>A+ players</li>
<li>Positive unit economics</li>
<li>No economic recession</li>
<li>Large and growing addressable market</li>
<li>Low competition</li>
<li>Venture capital</li>
<li>Big, marquee, “anchor” customers</li>
<li>…</li>
</ul>
<p>The list goes on.</p>
<p>See why startups are so fragile, why most are doomed to fail?</p>
<p>Companies are constrained by their needs. If your company, startup or otherwise, needs every single one, or even most, of the above items to go well, <em>it will not be long for this world</em>.</p>
<p>Eventually, you <em>will</em> fail in some way, and unless you are robust (or even better, <a href="https://amzn.to/2D52mHo">antifragile</a>) to these risks, you will go bust <strong>with certainty</strong>.</p>
<p>I repeat: <strong>robust, or go bust</strong>.</p>
<p>Hence, <strong>“Entrepreneur's Ruin”</strong> is the natural bias among business leaders to:</p>
<ul>
<li><strong>overweight maximization of probability and predictability</strong> and</li>
<li><strong>underweight rigorous elimination of single points of failure</strong></li>
</ul>
<p>It's the tendency to see business as:</p>
<ul>
<li><strong>“<em>one and done</em>”</strong> rather than</li>
<li><strong>“<em>one times one times one...</em>”</strong> <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">compounding</a> ad infinitum</li>
</ul>
<p>In this multiplicative world, a single zero wipes you out. Prior success is irrelevant. A priori probability or “confidence” of success is also irrelevant.</p>
<p>Like the banker, all that matters is sticking around long enough to see another sunrise.</p>
<h2>Needs vs. nice-to-haves</h2>
<p>The companies that survive and thrive over the long-term are the ones that keep this “needs list" as short as possible.</p>
<p>The “best” companies do not have the best team, the largest market, the highest profitability etc.</p>
<p>Ironically, the best companies are the ones that get by:</p>
<ul>
<li><strong>EVEN THOUGH</strong> they don’t have the best team…</li>
<li><strong>IN SPITE OF</strong> a difficult economic environment…</li>
<li><strong>WITHOUT</strong> access to free-flowing venture capital…</li>
</ul>
<p>And so on.</p>
<p>By turning “needs” into “nice-to-haves”, exceptional companies cap their downside while retaining exposure to positive surprises, i.e. upside.</p>
<p>Interviewers love to ask executives about their “keys to success”. In response, CEOs proclaim “XYZ is <em>critical</em> to our success” (insert “culture”, “people”, “operational excellence”, etc).</p>
<p>No. <strong>“As little as possible”</strong> should be critical to your success.</p>
<p>If you are asked “what are the keys to your success”, the best answer is—paradoxically—<strong>“nothing”</strong>.</p>
<p>When business leaders, via subtle <a href="https://www.merriam-webster.com/dictionary/humblebrag">humble brag</a>, share their “critical strengths”, they aren’t revealing the keys to their success. <strong>They are writing their own obituary</strong>:</p>
<blockquote>
<p>“<strong>Bankruptly</strong> was a darling Silicon Valley startup admired by all. For most of its tragically short life, Bankruptly had amazing growth, a huge market, and ample capital. But only months after raising a massive round of financing Bankruptly began running into issues. Soon afterward, Bankruptly suddenly…”</p>
</blockquote>
<p>You can finish the story.</p>
<h2>Don't be needy</h2>
<p>One of the primary functions of modern civilization is to guarantee human needs (air, food, water, shelter, community) and in turn create an unlimited number of nice-to-haves (<a href="https://en.wikipedia.org/wiki/Oxygen_bar">oxygen bars</a>, avocado toast, <a href="https://www.lacroixwater.com/">LaCroix</a>, seasonal homes in Tahoe and the Hamptons, secret societies—you get the point).</p>
<p>With such a multitude of <strong>options</strong>, life goes from nasty, brutish, and short to bougie, fabulous, and, frankly, <em>too long</em> between seasons of Game of Thrones. Wouldn’t it be great to shorten that bit?</p>
<p>Analogously, great business leaders cut down the list of things that “must go right” and expand the list of things that feel great if they happen but are not particularly painful if they don’t.</p>
<p>In other words, <strong>they cap downside while maintaining positive optionality</strong>:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/02/ruin-survival-2.png" alt=""></p>
<p>In doing so, they increase the effective “money in the bank” or “reserve capital” of the company (the “gambler”), extending its lifespan and paving a longer runway for the kinds of experimentation and random positive luck (“jackpots”) that so often drive business success.</p>
<p>So do what you want in your personal life, but in managing a business, don't be needy. It'll ruin you!</p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[Meet Dev, the Highest-Paid Software Developer in America]]>
                        </title>
                        <description>
                            <![CDATA[]]>
                        </description>
                        <link>https://whoisnnamdi.com/highest-paid-software-developer/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/highest-paid-software-developer/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 15 Jan 2019 11:48:50 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512164914-luke-porter-107784-unsplash.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><em><strong>Note: You can find this analysis updated for 2020 <a href="https://whoisnnamdi.com/highest-paid-software-engineers-2020/">here</a>.</strong></em></p>
<p>Dev fell in love with code at a young age.</p>
<p>He graduated from college with an engineering degree and then joined the Navy as a <a href="https://www.navy.com/careers/cyber-warfare-engineer">cyber warfare engineer</a>. Pressured by his highly educated Persian parents, Dev returned to school after military service to complete a <a href="https://online.stanford.edu/programs/computer-science-ms-degree">master's in computer science</a>. He has spent his entire career since in software development, mostly coding in <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>.</p>
<p>He realized early on that workloads were moving to the cloud and spent years retooling and upgrading his skill set, familiarizing himself with each of the major cloud vendors. He championed his team's transition from an on-premise Oracle database to a next-gen database hosted in the public cloud.</p>
<p>Always on the cutting edge, Dev regularly attends employer-sponsored training sessions and hackathons.</p>
<p>Dev worked with all of the major programming methodologies over the years but eventually settled on <a href="https://www.agilealliance.org/agile101/">Agile</a>, becoming a big fan.</p>
<p>Now a manager at a large, 15,000+ employee <a href="http://www.piedpiper.com/">technology giant</a>, he takes time to work out 3-4 times per week at the free company gym. Even after completing an <a href="https://www.atlassian.com/agile/scrum/sprints">agile sprint</a> he keeps moving - jogging home after work most days.</p>
<p>After promotion, Dev gave his second monitor to one of his younger direct reports. He wasn't spending as many hours furiously coding as he used to, so the extra real estate felt unnecessary.</p>
<p>A big proponent of healthy work habits, last year he procured a full set of standing desks for his entire team and required that all team members eat lunch away from their workstations. Rarely rushed himself, he never skips meals.</p>
<p>During the week, Dev wakes up just after 11am. Every. Single. Day.</p>
<p>Must be nice right?</p>
<p>However, at 50 years of age, Dev worries if his career has already peaked. He has no plans to retire any time soon, but whispers of <a href="http://blog.indeed.com/2017/10/19/tech-ageism-report/">ageism in tech</a> and seeing his older colleagues being laid off have him wondering if he's next.</p>
<p>That said, he knows he could make up lost income working independently as a freelancer. He has a hunch he'd make even more running solo.</p>
<p>A proud, loving father, Dev hopes his daughter follows in his footsteps. He sees a bright, better future for her. As far as he's concerned, the world is her oyster.</p>
<h2>Who is this guy?</h2>
<p>If it's not clear already, Dev's not a real person.</p>
<p>But his personal and professional characteristics really do correlate with higher income.</p>
<p>Age. Gender. Race.</p>
<p>Education. Professional experience. Programming languages.</p>
<p>Methodology. Hackathons. Even how many monitors he uses.</p>
<p>The traits that correspond with higher pay are not always what we would expect - nor necessarily what we'd hope.</p>
<p>The economics of developer pay is an important topic for me. Developers are <strong>the</strong> key input in the production of software. You cannot understand tech unless you understand how developers get paid—<strong>you just can't</strong>.</p>
<p>However, the publicly available analysis of this important issue is quite poor.</p>
<h2>The problem with most pay analyses</h2>
<p><a href="https://whoisnnamdi.com/the-growth-share-matrix-of-software-development/">As covered in my last post</a>, Stack Overflow conducts an annual survey of software developers, asking about various aspects of their careers, like income, job title, etc.</p>
<p>One disappointing feature of most pay analyses is that they show the data without controlling for any other variables. Avoiding any math more complex than simple averages, <strong>the typical analyses of pay have no way to understand a multivariate world</strong>.</p>
<p><a href="https://insights.stackoverflow.com/survey/2018/">Stack Overflow’s own write-up</a> of the survey results does this at times, taking the simple average of income across all full-stack developers, for example, and comparing the same metric for DevOps specialists:</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/stack_overflow_salary-1.png" alt=""></p>
<p>Statements like "Engineering managers, DevOps specialists, and data scientists command the highest salaries” are then made, which, though <em>technically true</em>, tend to mislead readers who are not well-versed in statistics into thinking that these are <em><a href="https://en.wikipedia.org/wiki/Ceteris_paribus">ceteris paribus</a></em> (all things equal) comparisons ("X makes more than Y, all else equal"), <strong>which they are not</strong>.</p>
<p>To their credit, Stack Overflow at least takes the additional step of comparing these salaries against years of professional experience, but that is just one of many possible controls. In fact, the entire survey provides a rich set of potential controls to “hold equal” and thereby generate more intuitively accurate statements about potential relationships (“X developers make more than Ys who are otherwise similar”, which is a qualitatively and likely quantitatively different statement than “Xs make more than Ys").</p>
<p>Unfortunately, most public discussion of pay does not control for <em>even a single variable</em>. This isn’t lying with statistics so much as it is misleading with them.</p>
<p>Said simply—we don’t only want to know “how much more or less do 45-year-old developers make compared to 25-year-old developers.” More importantly:</p>
<blockquote>
<p>“How much does a 45-year-old developer earn relative to a 25-year-old developer who is otherwise equivalent (in skills, experience, age, company size, country etc.)?”</p>
</blockquote>
<p>Both are important questions, but to me, the latter is much more interesting and intuitive. It also happens to be much more difficult to answer—hence it is rarely attempted.</p>
<p>This is an attempt do better. Not perfect, but much better.</p>
<h2>Results</h2>
<p>I break down the results by survey question, with a chart displaying the controlled effect of each trait on income, in addition to <a href="https://www.khanacademy.org/math/ap-statistics/estimating-confidence-ap/introduction-confidence-intervals/v/confidence-intervals-and-margin-of-error">95% confidence intervals</a>. Correspondingly, any references to statistical significance represent <a href="https://www.process.st/p-value/">p-values</a> &#x3C; 0.05.</p>
<p>The results represent a subset of approximately 11,000 U.S-based developers from the Stack Overflow survey.</p>
<p>If you'd like a nicely formatted report with the full set of results, enter your email below and you'll receive an email with a download link when ready.</p>
<p>For more detail on the methodology, please see the appendix at the end.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/annie-spratt-608001-unsplash-2.jpg" alt=""></p>
<h3>Demographics</h3>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/age.png" alt=""></p>
<p>Initially, age increases earnings. That said, the annualized <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">compound</a> gain is quite meager—about 0.2% through 45-54 years of age—with most of that happening before a developer turns 25.</p>
<p>More interesting is how the impact of age declines and turns negative (relative to a developer of 18-24 years of age) as a developer approaches 65:</p>
<ul>
<li>At this level of precision, <strong>I cannot distinguish the pay of a developer 55 or older from an otherwise similar one younger than 25</strong></li>
<li>I can say with reasonable certainty that <strong>a developer over the age of 65 makes less than one of 18-25 years of age</strong> who is otherwise similar.</li>
</ul>
<p>Ageism could be playing a role. Tech companies, especially startups, are perceived to have a <a href="https://www.techrepublic.com/article/tech-companies-admit-to-actively-targeting-younger-workers-for-jobs/">preference for younger employees</a>. Evidence of ageism is often anecdotal, but this data is at least suggestive that there may be something real behind this concern.</p>
<p>Unfortunately, <strong>ageism is notoriously difficult to prove or disprove</strong>, exactly because it is exceedingly rare to find a 25-year-old who is, in every way other than age, the same as a 65-year-old.</p>
<ul>
<li>For starters, a 25-year-old developer cannot possibly have much more than 5 years of professional development experience, while a 65-year-old developer almost certainly does. And that is just one variable.</li>
</ul>
<p>This is certainly an issue worth exploring further.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/race.png" alt=""></p>
<p>Asian and middle eastern developers are paid much more than similar white developers, and the pay <em>premium</em> is likely larger than the pay <em>discount</em> faced by other minorities.</p>
<p>Black developers appear to earn 0.8% less than white developers with similar traits, though with a wide enough confidence interval to lose statistical significance.</p>
<ul>
<li>The lack of precision (plus or minus 5%) is frustrating but inevitable given the low proportion of black software developers in the population and the dataset</li>
<li><strong>Note: Only 1.5% of developers in my dataset are black</strong> (not significantly different than the overall developer population)</li>
</ul>
<p>Hispanic or latino/a developers earn 1.5% less than similar whites. Again, we see reasonably large confidence intervals due to lack of sufficient data.</p>
<p>That there is such a large pay premium for asian and middle eastern developers is an interesting factoid in itself and one that warrants further exploration</p>
<ul>
<li>The estimates range from 5% to 10%, and all are statistically significant.</li>
</ul>
<p>The size of these effects are especially impressive given the small proportion of the dataset these minority groups respectively represent:</p>
<ul>
<li><strong>East Asian—2.8%</strong></li>
<li><strong>Middle Eastern—0.6%</strong></li>
<li><strong>South Asian—3.6%</strong></li>
</ul>
<p>That they are statistically significant even with few data points suggests these effects are quite real.</p>
<p><a href="https://www.eeoc.gov/eeoc/publications/fs-epa.cfm">Pay discrimination is a serious issue</a> that warrants rigorous analysis, much more than what I’ve done here.</p>
<ul>
<li>All in all, the results suggest that attempts to level the “paying” field should also focus on equalizing pay across various racial minority groups, not simply between minority groups and the majority</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/gender-1.png" alt=""></p>
<p>The pay gap for female software developers is similar in magnitude and low statistical significance to that of black developers—roughly 1.3% plus or minus 2.4%.</p>
<p>Gender non-binary / non-conforming developers face a large pay discount of 10% relative to male developers.</p>
<p>Given very few observations in the dataset, the pay effect for transgender developers cannot be estimated precisely enough to conclude anything meaningful.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/sexual_orientation.png" alt=""></p>
<p>Gay and lesbian software developers appear to make 2.5% more than straight / heterosexual developers, but this estimate is not statistically significant.</p>
<p>In fact, given the confidence intervals above, none of the categories of sexual orientation are statistically significantly different from heterosexual.</p>
<ul>
<li>Again, this is in part due to limited data—only 2.4% of developers in the sample are gay or lesbian, for example</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/dependents.png" alt=""></p>
<p>Good news for parents—developers with dependents (children, grandparents etc.) earn 3.7% more than those who don’t, controlling for other factors.</p>
<p>There are a number of potential explanations for this</p>
<ul>
<li>Workers with dependents likely want / need the extra income and hence seek out jobs that pay more</li>
<li>I do not have evidence to conclude that employers are specifically choosing to pay those with dependents more than others, though this could also be the case</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/military_us.png" alt=""></p>
<p>Former and current U.S. military service members earn 3% more than those without prior military service.</p>
<p>As with other traits, there are any number of potential drivers of the veteran pay premium, and it's inherently difficult to pinpoint the most likely explanation.</p>
<h4>Takeaways</h4>
<ul>
<li>Drawing justifiable conclusions around the impact of demographic characteristics on income is necessarily tricky given the highly imbalanced nature of the developer population</li>
<li>Caution is advisable when positing causal connections, and these should ideally be accompanied by some theoretical mechanism</li>
<li>That said, the results are interesting and should hopefully serve as a starting point for deeper and more rigorous analysis.</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/vasily-koloda-620886-unsplash.jpg" alt=""></p>
<h3>Education</h3>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/formal_education.png" alt=""></p>
<p>Advanced, non-professional degrees drive higher earnings. A masters or doctoral degree (PhD etc.) drives statistically significant gains of 3% and 10%, respectively, relative to an equivalent developer with only a bachelor’s.</p>
<p>Going to college but not completing is associated with a 3% cut in earnings, while graduating with an associate degree decreases earning by about 8% vs. a bachelor’s. Again both are statistically significant.</p>
<p>The effect of professional degrees like JDs and MDs is not statistically significant due to wide confidence intervals.</p>
<ul>
<li>Very few people with these degrees are working as software developers, so establishing a precise estimate is difficult.</li>
</ul>
<p>Not much can be said for developers that never reached the college level—due to lack of data, the confidence intervals are too wide to draw meaningful conclusions. However, these folks are almost certainly worse off than someone with an advanced degree.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/undergrad_major.png" alt=""></p>
<p>Interestingly, computer science is not the best-paid college major.</p>
<ul>
<li>In fact, other engineering disciplines (civil, mechanical, electrical, etc.) (<strong>5% increase</strong>), business degrees (accounting, finance, etc.) (<strong>4% increase</strong>), and math / stats majors (<strong>3.4% increase</strong>) all earn more, all else equal.</li>
</ul>
<p>Outside of these areas, college major is largely irrelevant to developer pay. The meme of the <a href="https://www.nytimes.com/2015/08/02/opinion/sunday/were-making-life-too-hard-for-millennials.html">underpaid, over-educated</a> sociology major doesn’t apply.</p>
<ul>
<li>This could be encouraging in that it shows you can be paid for good dev work regardless of your field of study</li>
<li>With dev schools and bootcamps like <a href="https://lambdaschool.com/">Lambda</a> popping up all over, this is great news if you are considering a career change and worried you might be at a disadvantage.</li>
<li>On the other hand, it does raise the question—why aren’t developers who studied the most apparently relevant field paid more than all others?</li>
<li>Does this say anything about undergraduate computer science teaching, which is often criticized for being <a href="https://www.cio.com/article/3293010/hiring-and-staffing/10-reasons-to-ignore-computer-science-degrees.html">irrelevant and out of touch</a> with professional software development work out in the wild?</li>
</ul>
<p>The exceptions are information systems / technology and web development / design degrees, which bear a pay discount of 2.4% and 10% respectively.</p>
<ul>
<li>Why? My take is that these degrees are often associated with private, for-profit schools <a href="https://www.nytimes.com/2016/09/18/business/itt-educational-services-files-for-bankruptcy-after-aid-crackdown.html">not often known for their quality</a></li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/education_parents.png" alt=""></p>
<p>Your parent’s level of education matters as a software developer.</p>
<p>Developers with at least one parent holding a professional degree like a JD or MD will earn 5.3% more than a developer whose parents never earned more than a bachelor’s degree. Masters and doctoral degrees among parents are associated with a 2.2% increase in pay for the children, though this relationship narrowly misses statistical significance for doctoral degrees.</p>
<p>Associate degrees, some college, and high school all have significantly negative impacts of 2.8-4%.</p>
<p>Primary school and no formal education were too rare in the dataset to generate precise effect estimates.</p>
<p>It’s interesting to consider how these effects manifest themselves throughout the professional life of a developer</p>
<ul>
<li>We can all imagine ways in which parental education could have meaningful follow-on effects in the lives of children</li>
<li>It is also possible that, with more controls, these effects would dissipate or lose significance</li>
<li>For example, the effect may channel itself through income or other variables that correlate with (or are influenced by) education, rather than schooling itself</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/education_types.png" alt=""></p>
<p>Participation in <a href="https://hackathon.guide/">hackathons</a> is clearly associated with higher pay—more than 4.3% higher, as are full-time developer training programs (bootcamps), which provide a 3% bump.</p>
<p>We’ve witnessed an <a href="https://www.coursereport.com/reports/2018-coding-bootcamp-market-size-research">explosion in the number of coding bootcamps</a> over the past decade. The pay bump is equivalent in magnitude to a master’s degree, which is incredible given bootcamps take months to complete, not years, and are generally cheaper in tuition than an advanced degree.</p>
<p>Contributing to open source software, or OSS (certainly an educational experience, in a sense), has a positive but not statistically significant bump of 1.6%</p>
<ul>
<li>Open-source penetration of the typical software stack has only increased over the years—it would make sense if active contribution to OSS is rewarded with higher pay.</li>
</ul>
<p>Industry certifications get a big fat zero. No effect.</p>
<p>On the other hand, online programming courses, MOOCs, etc. are associated with a significant drop of slightly more than 2.4%. Given the <a href="https://www.creativebloq.com/web-design/online-coding-courses-11513890">proliferation of online software development courses</a> over the years, this is an inconvenient finding.</p>
<ul>
<li>That all said, I do worry about potentially confounding or omitted variables that have not been controlled for</li>
<li>I can’t imagine a strong causal link between taking an online course and lower pay, but I can certainly imagine that the "type of person” who takes an online course might also be the type of person that generally earns less</li>
</ul>
<p>Likewise, the type of person to participate in a hackathon likely has other, unobserved traits that drive higher income</p>
<ul>
<li>Certain companies, which may be higher paying on average, also host hackathons in their offices</li>
</ul>
<p>In other words, correlation may not be causation here, even after controlling for many variables.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/self_taught_types.png" alt=""></p>
<p>As an avid self-learner myself, I am disappointed to see that no form of self-learning seems to have a statistically discernible impact on earnings.</p>
<ul>
<li>Books and e-books were close to achieving statistical significance, but even so, the point estimate is only 1%.</li>
</ul>
<p>Self-learning is a great way to, in targeted fashion, learn exactly what you need to know about a certain topic or area of knowledge. For many, it is more effective than traditional teaching methods.</p>
<p>However, it doesn’t seem to impact pay in and of itself.</p>
<h4>Takeaways</h4>
<ul>
<li>Education matters, largely in the ways one would guess</li>
<li>If you’ve already graduated from college, advanced degrees, hackathons, bootcamps, and open source projects can be smart ways to increase your value as a developer in ways that show up in your paycheck</li>
<li>If you haven’t graduated yet, know that the exact major you pick matters less than showing interest or commitment to the craft, at least when it comes to pay</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/nesa-by-makers-701360-unsplash.jpg" alt=""></p>
<h3>Professional Characteristics</h3>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/years_coding.png" alt=""></p>
<p>Professional development experience matters much more than casual coding. The gains from more years of general coding experience tend to plateau after 15 years, while professional coding experience continues to pay dividends well into the 30 year range.</p>
<p>The benefit from experience with casual coding (relative to 0-2 years) maxes out at 10-15% and actually begins to decline after 26 years.</p>
<ul>
<li>Again, this is holding other factors equal, including professional experience, so this may make sense</li>
<li>Someone who learned to code 30 years ago and has little more to show for it than someone with only 10 years of coding experience might raise flags.</li>
<li>We must be careful however—taking the year one learned to code as given, years since learning to code correlates perfectly with age, suggesting that ageism may be leaking in here. I explore age specifically elsewhere in this post.</li>
</ul>
<p>The fastest gains from professional experience come in the first ten years.</p>
<ul>
<li>A developer with 9-11 years of professional experience can expect to earn 30% more than a newbie, all else equal, which translates to about 2.5 percent year-over-year gains.</li>
<li>Of course, “all else” is likely not equal for any given developer across a ten-year span, suggesting even greater potential annual raises for a given developer in the real world.</li>
</ul>
<p>After the first decade, the line is nearly straight, aside from a mid-career slump at the 25-year mark.</p>
<ul>
<li>Do not be fooled, however—constant absolute gains in fact represent declining growth</li>
<li>In other words, each year of professional development experience provides a nearly-constant dollar raise but a declining percentage raise. I explore this phenomenon further in a upcoming post</li>
</ul>
<p>With that caveat, it is still encouraging to see that developer pay does not fully plateau or reverse course with additional professional experience over time.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/employment.png" alt=""></p>
<p>No surprise here—working part-time does not help your earnings.</p>
<p>More interestingly, developers working as freelancers or independent contractors make more than those employed full-time</p>
<ul>
<li>This may be compensated for by what is almost surely more variable income</li>
<li>In general, stable, full-time employment does come at a cost, not only in software development but in many other areas of the economy</li>
</ul>
<p>Reverse causation could also be at play here—someone who knows they could make more as a freelancer is exactly the kind of person who would become one.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/dev_type.png" alt="">
<em>(Read: “DevOps specialists make 2% more than non-DevOps specialists, all else equal”)</em></p>
<p>It’s no surprise that managers and executives earn more. This includes <a href="https://qz.com/766658/the-highest-paid-workers-in-silicon-valley-are-not-software-engineers/">product managers</a>, who might not write significant amounts of code themselves.</p>
<ul>
<li>Engineering managers and C-suite execs make 10% more, while product managers make 5.8% more, all else equal.</li>
</ul>
<p>The only non-manager role that makes meaningfully more than its counterparts is DevOps:</p>
<ul>
<li>DevOps specialists are about 2.2 percentage points higher on the pay scale than the non-DevOps average for similar developers.</li>
</ul>
<p>Conversely, there are a number of roles that make noticeably less despite similar levels of experience, education etc.</p>
<ul>
<li>Database admins (DBAs), sysadmins, designers, QA / testing developers make 2.5-7.5% less than developers who don’t fall under these categories</li>
<li>With the exception of designers, these roles are commonly seen as the “back office” of IT, though one could easily find counter examples depending on the specific team or organization</li>
<li>Perhaps needless to say—academics and students earn meaningfully less than those outside of academia</li>
</ul>
<h4>Takeaways</h4>
<ul>
<li>Professional experience matters and never stops mattering</li>
<li>Casual development experience helps too—but only so much, measured both by the amount of experience and the earnings impact</li>
<li>Among those working in industry, role matters positively for managers and DevOps professionals and negatively for system and database administrators, as well as designers</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/ilya-pavlov-87438-unsplash.jpg" alt=""></p>
<h3>Languages, Frameworks, Databases, Platforms, and Tools</h3>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/languages-1.png" alt="">
<em>(Read: “Developers who have done extensive development work involving Golang earn more than those who haven’t”)</em></p>
<p>The main implication of these results—languages largely don’t matter to pay. The vast majority of languages do not provide a statistically significant pay bump or discount relative to jobs that don’t require that language. The pay scale for programming languages is quite flat across the universe of languages.</p>
<p>Hack is a clear outlier—working with Hack yields a 25% bump. However, don’t drop everything to go learn Hack right now</p>
<ul>
<li>Hack is not a widely used language</li>
<li>It was developed by Facebook, and unlike other languages and frameworks that come out of the big tech giants, Hack has not had the same marketing push placed behind it.</li>
<li>The effect we see here likely reflects developers who work at Facebook itself—there’s no sign of a robust hiring market for Hack talent.</li>
</ul>
<p>Outside of Hack, on the positive side we find Objective-C, C++, Go, VBA, and TypeScript with statistically significant income effects, ranging from 2.1 to 3.9 percent.</p>
<p>On the negative side we have JavaScript, VB.NET, CSS, and PHP</p>
<ul>
<li>JS, CSS, and PHP likely reflect the lower pay of certain web development jobs</li>
<li>These languages represent fundamental technologies of web development</li>
<li>For that same reason however, they are considered table stakes</li>
<li>Hence, using these technologies on the job doesn’t provide much of a pay bump, though you may be quite employable</li>
</ul>
<p>Please note that the results above are <strong>not</strong> saying “knowing language X increases / decreases pay.” Knowing a language is not likely to ever <em>harm</em> one’s pay, but working a dev job that uses it might (relative to other development work).</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/frameworks.png" alt=""></p>
<p>React—what needs to be said?</p>
<ul>
<li>The <a href="https://reactjs.org/">cutting-edge JavaScript framework</a> originated and maintained by Facebook is widely and wildly popular, especially among front-end developers looking for an easy-to-use but powerful way to craft compelling user interfaces.</li>
<li>React is associated with a 4.1% pay increase and is the only framework with a statistically significant positive impact.</li>
</ul>
<p>Working with .NET Core and PyTorch negatively impacts income</p>
<ul>
<li>I do not have a hypothesis about .NET Core, but I do know that <a href="https://code.fb.com/ai-research/announcing-pytorch-1-0-for-both-research-and-production/">PyTorch was historically used much more among researchers</a> than industry practitioners, likely driving lower pay</li>
<li>Usage has since branched out as the framework has added production-grade capabilities and tooling.</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/databases.png" alt=""></p>
<p>One word—cloud. Almost all of the databases with positive income effects are hosted in the cloud, often exclusively as a managed service by one of the major public cloud service providers (Google, Amazon, Facebook).</p>
<p>Google’s BigQuery data warehouse tops the list, followed closely by Amazon’s competing Redshift. Apache Hbase and Hive come next. Afterwards it’s Amazon’s DynamoDB and Microsoft’s Azure Tables, Cosmos DB, and SQL. The list continues with Memcached, Redis, Elasticsearch, Google Cloud Storage, and Amazon RDS and Aurora—all positive and statistically significant.</p>
<p>Older database technologies from legacy vendors dominate the negative end. This includes Oracle’s once ubiquitous databases, MySQL, SQL Server, MariaDB, and IBM’s Db2.</p>
<p>It’s fascinating to see the impact of the cloud revolution laid out in stark relief. There are meaningful income gains associated with working with next-gen cloud-enabled databases. This fact should be top of mind for developers looking to upgrade their skills and pay.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/platforms.png" alt=""></p>
<p>I’ll say it again—cloud. The various public clouds are the only platforms aside from Windows Phone with positive, statistically significant effects on developer earnings. Azure is associated with 4.1% higher pay, GCP 2.7%, AWS 1.7%.</p>
<p>And Windows Phone? Not going to try to explain that one.</p>
<p>Android, Arduino and Drupal had meaningful negative association with income—2.4%, 4.6%, and 8.5% respectively.</p>
<p>Android’s ubiquitous operating system needs no introduction, though it’s negative pay relationship might need an explanation. Unfortunately, I am stumped here.</p>
<p>Arduino is an <a href="https://www.arduino.cc/">open-source prototyping platform</a> with associated hardware microcontrollers that eases development of electronic devices. Though used for serious development work, <a href="https://www.arduino.cc/en/main/education">Arduino is also heavily used by engineering students</a> as well, which likely drives the negative value.</p>
<p>Drupal is a PHP-based content management system whose <a href="https://trends.google.com/trends/explore?date=all&#x26;geo=US&#x26;q=drupal">popularity peaked in 2011</a> but has since been on a slow decline.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/ide.png" alt=""></p>
<p>You might not think that a developer’s choice of IDE or text editors wouldn’t matter—and you’d be (largely) correct! The associated effects here are generally quite small.</p>
<p>However, IntelliJ stands out from the pack</p>
<ul>
<li>Billed by JetBrains, its creator, as the “Java IDE for professional developers”, IntelliJ users make 3.1% more than non-users</li>
<li>Of course, this is not an entirely useful comparison for someone who doesn’t use Java in their development work</li>
</ul>
<p>Notepad++ and Atom are associated with slightly lower earnings, on the order of 2%, which is statistically significant. Notably, both are popular but are generally viewed more as text editors than fully-fledged IDEs.</p>
<p>PhpStorm, Xcode, and Coda also had negative effects that were statistically significant.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/methodology.png" alt=""></p>
<p>The incredibly popular Agile leads the pack among project management methodologies. Devs who use Agile in their development work earn 3.9% more than those who don’t.</p>
<p>The less common extreme programming methodology is associated with 2.7% higher pay.</p>
<p>Lean comes in at 2.5%, while Scrum developers earn 1.5% more, all else equal.</p>
<p>Prince2 appears to be at outlier, but this is mostly due to limited data—only 0.1% of developers in the sample use the methodology.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/version_control.png" alt=""></p>
<p>For the most part, the exact form of version control used does not matter.</p>
<p>The key takeaway here—any kind of version control is better than no version control, but please, please avoid copying and pasting files to a network share.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/check_in_code.png" alt=""></p>
<p>The best practice appears to be the best paid</p>
<ul>
<li>Checking in code multiple times per day</li>
<li>It’s clearly important to check in code on some kind of cadence—at least monthly, ideally</li>
<li>If you are checking in code less than once per month or not at all, your pay is likely being impacted as a result.</li>
</ul>
<p>Not to sound like a broken record, but the reverse causation caveat applies here as well. It is completely plausible that checking in code more often increases a developers pay. It’s also possible that companies that pay more are more likely to follow and mandate development best practices, such as frequent code check-ins.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/communication_tools.png" alt=""></p>
<p>It seems too convenient that in a survey run by Stack Overflow that its own enterprise product would be associated with significantly higher developer pay, but I can only go where the data takes me. Developers using Stack Overflow Enterprise earn 9.4% more than those who don’t.</p>
<p>This likely picks up some effect of simply working at a company that uses Stack Overflow Enterprise, which may be higher paying on average.</p>
<p>Other communication tools had smaller positive impacts like the incredibly popular Slack, Atlassian’s Confluence, HipChat, and internal intranet sites (wikis, Google sites etc), which all have earnings effects in the 2-3% range.</p>
<p>Trello and Facebook are negative enough to be statistically significant.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/number_monitors.png" alt=""></p>
<p>Surprisingly, developers who use two monitors earn 2.8% less than those who use only a single monitor, all else equal.</p>
<p>At this time, it’s not clear why more monitors would negatively impact earnings. The potential for enhanced productivity may be swamped by the temptation to use the additional screen real estate for <a href="https://www.reddit.com/">non-work activities</a>.</p>
<p>No other monitor count had a statistically significant effect on income relative to one.</p>
<h4>Takeaways</h4>
<ul>
<li>The tools associated with higher developer pay are quite interesting and not necessarily what one might expect</li>
<li>In some cases, the most popular tools also pay the most</li>
<li>In other cases, more obscure tools appear to have an advantage</li>
<li>Check in your code (at least every once in a while)!</li>
<li>One clear trend is the impact the move to the cloud is having on developers—the effects of the public cloud on developer pay are large and consistently statistically significant across the big 3 U.S. clouds</li>
<li>Knowing how to use and leverage these next-generation computing environments and finding a job that employs those skills can drive meaningful pay improvements for the average developer</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/marion-michele-191320-unsplash.jpg" alt=""></p>
<h3>Work Life, Health, and Wellness</h3>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/wake_time.png" alt=""></p>
<p>These results are admittedly difficult to interpret. There is no clear linear time trend for the impact of wake up time on earnings.</p>
<p>After 7am, later does appear to be somewhat better—up to a point. Strangely, developers between 11am and 12pm see 15.4% higher pay than those who are up before 5am.</p>
<p>The most important takeaway is this—<strong>have a set schedule</strong>. This will do more good than optimizing for a specific wake-up time. Not having a regular wake up time was associated with 7.7% lower pay for software developers.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/exercise.png" alt=""></p>
<p>Exercise is strongly associated with earnings. While only exercising once or twice a week does not appear impactful, exercising 3 times or more per week is associated with 2-2.9% higher pay than a similar developer who does not exercise at all.</p>
<p>It is possible however that reverse causation could cause developers who earn more to work out more—perhaps because they have more time or can more easily afford a gym membership. Alternatively, higher paying companies often have gyms on-premises, making it easier to work out more.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/skip_meals.png" alt=""></p>
<p>Don’t skip meals. Any amount of meal skipping was associated with lower pay, though never statistically significant. Developers are not rewarded for this unhealthy work habit.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/ergonomic_devices.png" alt=""></p>
<p>Among ergonomic devices, <a href="https://thewirecutter.com/reviews/best-standing-desk/">standing desks</a> were associated with 3.2% higher pay, which is statistically significant.</p>
<p>Again, higher paying companies are potentially more like to provide employees with standing desks, so the direction of causality here is questionable.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/hours_computer.png" alt=""></p>
<p>Time spent at the computer each day does not have a meaningful relationship with pay. Handcuffing yourself to your laptop is not going to earn you higher pay as a developer.</p>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/hours_outside.png" alt=""></p>
<p>Unlike time spent at the computer, time spent outside does have an impact on pay, with the ideal amount being 1-2 hours. Spending fewer than 30 minutes outside is associated with 2.4% lower pay than 30 minutes to an hour.</p>
<p>Spending more than 4 hours outside was associated with lower pay, but there were not enough developers who do this regularly to generate a precise estimate.</p>
<h4>Takeaways</h4>
<ul>
<li>The data suggest that common best practices are often the best way to go</li>
<li>Spend at least a small amount of time outside each day</li>
<li>Skipping meals will only grow your bank balance to the extent you save money on lunch</li>
<li>Exercising a few times per week is better than never hitting the gym</li>
</ul>
<p><img src="https://whoisnnamdi.com/content/images/2019/01/hans-peter-gauster-252751-unsplash.jpg" alt=""></p>
<h2>Conclusion</h2>
<p>There are many important takeaways from the study and the charts above.</p>
<p>This analysis is a first attempt at exploring the various factors that affect developer pay. To that end, I hope that it is illuminating and informative.</p>
<p>However, as with many attempts to answer difficult questions, the analysis raises as many questions as it answers.</p>
<p>I am publishing the full code to reproduce this analysis because I believe open source, replicable research is the key to the robust advancement of knowledge</p>
<ul>
<li>I would love for this analysis to serve as starting point for others who wish to elevate the state of knowledge on this important topic</li>
<li>If you find an error or disagree with some aspect of the analysis, feel free to submit edits (pull requests) to my <a href="https://gitlab.com/whoisnnamdi/highest-paid-software-developer">GitLab</a> or <a href="https://github.com/whoisnnamdi/highest-paid-software-developer">GitHub</a> repositories</li>
</ul>
<p>I care deeply about the technology industry. But solving its issues and compounding its strengths demands a rigorous understanding of its component elements. <a href="https://www.cnbc.com/2018/09/06/companies-worry-more-about-access-to-software-developers-than-capital.html">Developers are a critical piece of the tech puzzle</a>, and they deserve our attention.</p>
<h2>Appendix</h2>
<h2>Data</h2>
<p>As in my last post, I leverage data from Stack Overflow’s annual software developer survey, which asks about income, in addition to many other questions of interest.</p>
<p>Examples include</p>
<ul>
<li>Which of the following best describes the highest level of formal education that you’ve completed?</li>
<li>Approximately how many people are employed by the company or organization you work for?</li>
<li>Which of the following programming, scripting, and markup languages have you done extensive development work in over the past year?</li>
</ul>
<p>I’m interested in how answers to these questions affect income. While it’s impossible to completely avoid issues of reverse causality or correlation rather than causation, by using regression augmented with machine learning techniques, described here, we can have greater confidence that our results accurately represent the true relationship income.</p>
<p>Essentially, we’ll analyze how each possible answer affects income, holding all other answers constant.</p>
<p>I limit the dataset to only non-retired US respondents above the age of 18 with income between $10,000-250,000. Responses above $250K have a higher tendency to be troll (i.e. made up) responses, which I’d like to exclude, and few answers come in above this threshold regardless.</p>
<p>This leaves us with a dataset of approximately 11,000 developers.</p>
<h3>Methodology</h3>
<p>I estimate the following equation on the data:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.566ex;" xmlns="http://www.w3.org/2000/svg" width="38.289ex" height="2.262ex" role="img" focusable="false" viewBox="0 -750 16923.9 1000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-N-6C" d="M42 46H56Q95 46 103 60V68Q103 77 103 91T103 124T104 167T104 217T104 272T104 329Q104 366 104 407T104 482T104 542T103 586T103 603Q100 622 89 628T44 637H26V660Q26 683 28 683L38 684Q48 685 67 686T104 688Q121 689 141 690T171 693T182 694H185V379Q185 62 186 60Q190 52 198 49Q219 46 247 46H263V0H255L232 1Q209 2 183 2T145 3T107 3T57 1L34 0H26V46H42Z"></path><path id="MJX-1-TEX-N-6F" d="M28 214Q28 309 93 378T250 448Q340 448 405 380T471 215Q471 120 407 55T250 -10Q153 -10 91 57T28 214ZM250 30Q372 30 372 193V225V250Q372 272 371 288T364 326T348 362T317 390T268 410Q263 411 252 411Q222 411 195 399Q152 377 139 338T126 246V226Q126 130 145 91Q177 30 250 30Z"></path><path id="MJX-1-TEX-N-67" d="M329 409Q373 453 429 453Q459 453 472 434T485 396Q485 382 476 371T449 360Q416 360 412 390Q410 404 415 411Q415 412 416 414V415Q388 412 363 393Q355 388 355 386Q355 385 359 381T368 369T379 351T388 325T392 292Q392 230 343 187T222 143Q172 143 123 171Q112 153 112 133Q112 98 138 81Q147 75 155 75T227 73Q311 72 335 67Q396 58 431 26Q470 -13 470 -72Q470 -139 392 -175Q332 -206 250 -206Q167 -206 107 -175Q29 -140 29 -75Q29 -39 50 -15T92 18L103 24Q67 55 67 108Q67 155 96 193Q52 237 52 292Q52 355 102 398T223 442Q274 442 318 416L329 409ZM299 343Q294 371 273 387T221 404Q192 404 171 388T145 343Q142 326 142 292Q142 248 149 227T179 192Q196 182 222 182Q244 182 260 189T283 207T294 227T299 242Q302 258 302 292T299 343ZM403 -75Q403 -50 389 -34T348 -11T299 -2T245 0H218Q151 0 138 -6Q118 -15 107 -34T95 -74Q95 -84 101 -97T122 -127T170 -155T250 -167Q319 -167 361 -139T403 -75Z"></path><path id="MJX-1-TEX-N-2061" d=""></path><path id="MJX-1-TEX-N-28" d="M94 250Q94 319 104 381T127 488T164 576T202 643T244 695T277 729T302 750H315H319Q333 750 333 741Q333 738 316 720T275 667T226 581T184 443T167 250T184 58T225 -81T274 -167T316 -220T333 -241Q333 -250 318 -250H315H302L274 -226Q180 -141 137 -14T94 250Z"></path><path id="MJX-1-TEX-I-1D456" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path id="MJX-1-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-1-TEX-I-1D450" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path><path id="MJX-1-TEX-I-1D45C" d="M201 -11Q126 -11 80 38T34 156Q34 221 64 279T146 380Q222 441 301 441Q333 441 341 440Q354 437 367 433T402 417T438 387T464 338T476 268Q476 161 390 75T201 -11ZM121 120Q121 70 147 48T206 26Q250 26 289 58T351 142Q360 163 374 216T388 308Q388 352 370 375Q346 405 306 405Q243 405 195 347Q158 303 140 230T121 120Z"></path><path id="MJX-1-TEX-I-1D45A" d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 746 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10Q669 -10 648 17T627 73Q627 92 663 193T700 345Q700 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-1-TEX-I-1D452" d="M39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353Z"></path><path id="MJX-1-TEX-N-29" d="M60 749L64 750Q69 750 74 750H86L114 726Q208 641 251 514T294 250Q294 182 284 119T261 12T224 -76T186 -143T145 -194T113 -227T90 -246Q87 -249 86 -250H74Q66 -250 63 -250T58 -247T55 -238Q56 -237 66 -225Q221 -64 221 250T66 725Q56 737 55 738Q55 746 60 749Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-I-1D6FD" d="M29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431Z"></path><path id="MJX-1-TEX-N-5F" d="M0 -62V-25H499V-62H0Z"></path><path id="MJX-1-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path id="MJX-1-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-1-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-1-TEX-I-1D447" d="M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z"></path><path id="MJX-1-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path><path id="MJX-1-TEX-I-1D44B" d="M42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0Z"></path><path id="MJX-1-TEX-I-1D716" d="M227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="6C" xlink:href="#MJX-1-TEX-N-6C"></use><use data-c="6F" xlink:href="#MJX-1-TEX-N-6F" transform="translate(278,0)"></use><use data-c="67" xlink:href="#MJX-1-TEX-N-67" transform="translate(778,0)"></use></g><g data-mml-node="mo" transform="translate(1278,0)"><use data-c="2061" xlink:href="#MJX-1-TEX-N-2061"></use></g><g data-mml-node="mo" transform="translate(1278,0)"><use data-c="28" xlink:href="#MJX-1-TEX-N-28"></use></g><g data-mml-node="mi" transform="translate(1667,0)"><use data-c="1D456" xlink:href="#MJX-1-TEX-I-1D456"></use></g><g data-mml-node="mi" transform="translate(2012,0)"><use data-c="1D45B" xlink:href="#MJX-1-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(2612,0)"><use data-c="1D450" xlink:href="#MJX-1-TEX-I-1D450"></use></g><g data-mml-node="mi" transform="translate(3045,0)"><use data-c="1D45C" xlink:href="#MJX-1-TEX-I-1D45C"></use></g><g data-mml-node="mi" transform="translate(3530,0)"><use data-c="1D45A" xlink:href="#MJX-1-TEX-I-1D45A"></use></g><g data-mml-node="mi" transform="translate(4408,0)"><use data-c="1D452" xlink:href="#MJX-1-TEX-I-1D452"></use></g><g data-mml-node="mo" transform="translate(4874,0)"><use data-c="29" xlink:href="#MJX-1-TEX-N-29"></use></g><g data-mml-node="mo" transform="translate(5540.8,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(6596.6,0)"><use data-c="1D6FD" xlink:href="#MJX-1-TEX-I-1D6FD"></use></g><g data-mml-node="mi" transform="translate(7162.6,0)"><use data-c="5F" xlink:href="#MJX-1-TEX-N-5F"></use></g><g data-mml-node="mn" transform="translate(7662.6,0)"><use data-c="30" xlink:href="#MJX-1-TEX-N-30"></use></g><g data-mml-node="mo" transform="translate(8384.8,0)"><use data-c="2B" xlink:href="#MJX-1-TEX-N-2B"></use></g><g data-mml-node="mi" transform="translate(9385,0)"><use data-c="1D6FD" xlink:href="#MJX-1-TEX-I-1D6FD"></use></g><g data-mml-node="mi" transform="translate(9951,0)"><use data-c="5F" xlink:href="#MJX-1-TEX-N-5F"></use></g><g data-mml-node="mn" transform="translate(10451,0)"><use data-c="31" xlink:href="#MJX-1-TEX-N-31"></use></g><g data-mml-node="mi" transform="translate(10951,0)"><use data-c="1D447" xlink:href="#MJX-1-TEX-I-1D447"></use></g><g data-mml-node="mo" transform="translate(11877.2,0)"><use data-c="2B" xlink:href="#MJX-1-TEX-N-2B"></use></g><g data-mml-node="mi" transform="translate(12877.4,0)"><use data-c="1D6FD" xlink:href="#MJX-1-TEX-I-1D6FD"></use></g><g data-mml-node="mi" transform="translate(13443.4,0)"><use data-c="5F" xlink:href="#MJX-1-TEX-N-5F"></use></g><g data-mml-node="mn" transform="translate(13943.4,0)"><use data-c="32" xlink:href="#MJX-1-TEX-N-32"></use></g><g data-mml-node="mi" transform="translate(14443.4,0)"><use data-c="1D44B" xlink:href="#MJX-1-TEX-I-1D44B"></use></g><g data-mml-node="mo" transform="translate(15517.7,0)"><use data-c="2B" xlink:href="#MJX-1-TEX-N-2B"></use></g><g data-mml-node="mi" transform="translate(16517.9,0)"><use data-c="1D716" xlink:href="#MJX-1-TEX-I-1D716"></use></g></g></g></svg></mjx-container>
<p>Where <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.593ex" height="1.532ex" role="img" focusable="false" viewBox="0 -677 704 677" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D447" d="M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D447" xlink:href="#MJX-2-TEX-I-1D447"></use></g></g></g></svg></mjx-container> is our trait of interest, <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.439ex;" xmlns="http://www.w3.org/2000/svg" width="2.268ex" height="2.034ex" role="img" focusable="false" viewBox="0 -705 1002.6 899" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D6FD" d="M29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431Z"></path><path id="MJX-3-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D6FD" xlink:href="#MJX-3-TEX-I-1D6FD"></use></g><g data-mml-node="mn" transform="translate(599,-150) scale(0.707)"><use data-c="31" xlink:href="#MJX-3-TEX-N-31"></use></g></g></g></g></svg></mjx-container> is the effect of that trait on income relative to the base category, <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.928ex" height="1.545ex" role="img" focusable="false" viewBox="0 -683 852 683" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D44B" d="M42 0H40Q26 0 26 11Q26 15 29 27Q33 41 36 43T55 46Q141 49 190 98Q200 108 306 224T411 342Q302 620 297 625Q288 636 234 637H206Q200 643 200 645T202 664Q206 677 212 683H226Q260 681 347 681Q380 681 408 681T453 682T473 682Q490 682 490 671Q490 670 488 658Q484 643 481 640T465 637Q434 634 411 620L488 426L541 485Q646 598 646 610Q646 628 622 635Q617 635 609 637Q594 637 594 648Q594 650 596 664Q600 677 606 683H618Q619 683 643 683T697 681T738 680Q828 680 837 683H845Q852 676 852 672Q850 647 840 637H824Q790 636 763 628T722 611T698 593L687 584Q687 585 592 480L505 384Q505 383 536 304T601 142T638 56Q648 47 699 46Q734 46 734 37Q734 35 732 23Q728 7 725 4T711 1Q708 1 678 1T589 2Q528 2 496 2T461 1Q444 1 444 10Q444 11 446 25Q448 35 450 39T455 44T464 46T480 47T506 54Q523 62 523 64Q522 64 476 181L429 299Q241 95 236 84Q232 76 232 72Q232 53 261 47Q262 47 267 47T273 46Q276 46 277 46T280 45T283 42T284 35Q284 26 282 19Q279 6 276 4T261 1Q258 1 243 1T201 2T142 2Q64 2 42 0Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D44B" xlink:href="#MJX-4-TEX-I-1D44B"></use></g></g></g></svg></mjx-container> is a set of controls (in our case, the respondent's answers to other questions in the survey), <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.439ex;" xmlns="http://www.w3.org/2000/svg" width="2.268ex" height="2.034ex" role="img" focusable="false" viewBox="0 -705 1002.6 899" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-5-TEX-I-1D6FD" d="M29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431Z"></path><path id="MJX-5-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D6FD" xlink:href="#MJX-5-TEX-I-1D6FD"></use></g><g data-mml-node="mn" transform="translate(599,-150) scale(0.707)"><use data-c="32" xlink:href="#MJX-5-TEX-N-32"></use></g></g></g></g></svg></mjx-container> is the set of effects for each respective control, and <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.025ex;" xmlns="http://www.w3.org/2000/svg" width="0.919ex" height="1ex" role="img" focusable="false" viewBox="0 -431 406 442" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-6-TEX-I-1D716" d="M227 -11Q149 -11 95 41T40 174Q40 262 87 322Q121 367 173 396T287 430Q289 431 329 431H367Q382 426 382 411Q382 385 341 385H325H312Q191 385 154 277L150 265H327Q340 256 340 246Q340 228 320 219H138V217Q128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 357 35Q354 31 337 21T289 0T227 -11Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D716" xlink:href="#MJX-6-TEX-I-1D716"></use></g></g></g></svg></mjx-container> is the irreducible error in our estimate.</p>
<p>Assuming we've included a "complete" and "correct" set of controls, this should provide a reasonably accurate estimate of the relationship of the trait of interest, <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.593ex" height="1.532ex" role="img" focusable="false" viewBox="0 -677 704 677" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-7-TEX-I-1D447" d="M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D447" xlink:href="#MJX-7-TEX-I-1D447"></use></g></g></g></svg></mjx-container>, with income. The log transformation of income means our results will be in roughly percentage terms, implying that trait <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.593ex" height="1.532ex" role="img" focusable="false" viewBox="0 -677 704 677" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-8-TEX-I-1D447" d="M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D447" xlink:href="#MJX-8-TEX-I-1D447"></use></g></g></g></svg></mjx-container> is associated with an increase in income of <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: -0.439ex;" xmlns="http://www.w3.org/2000/svg" width="9.683ex" height="2.136ex" role="img" focusable="false" viewBox="0 -750 4280 944" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-9-TEX-I-1D6FD" d="M29 -194Q23 -188 23 -186Q23 -183 102 134T186 465Q208 533 243 584T309 658Q365 705 429 705H431Q493 705 533 667T573 570Q573 465 469 396L482 383Q533 332 533 252Q533 139 448 65T257 -10Q227 -10 203 -2T165 17T143 40T131 59T126 65L62 -188Q60 -194 42 -194H29ZM353 431Q392 431 427 419L432 422Q436 426 439 429T449 439T461 453T472 471T484 495T493 524T501 560Q503 569 503 593Q503 611 502 616Q487 667 426 667Q384 667 347 643T286 582T247 514T224 455Q219 439 186 308T152 168Q151 163 151 147Q151 99 173 68Q204 26 260 26Q302 26 349 51T425 137Q441 171 449 214T457 279Q457 337 422 372Q380 358 347 358H337Q258 358 258 389Q258 396 261 403Q275 431 353 431Z"></path><path id="MJX-9-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-9-TEX-N-2217" d="M229 286Q216 420 216 436Q216 454 240 464Q241 464 245 464T251 465Q263 464 273 456T283 436Q283 419 277 356T270 286L328 328Q384 369 389 372T399 375Q412 375 423 365T435 338Q435 325 425 315Q420 312 357 282T289 250L355 219L425 184Q434 175 434 161Q434 146 425 136T401 125Q393 125 383 131T328 171L270 213Q283 79 283 63Q283 53 276 44T250 35Q231 35 224 44T216 63Q216 80 222 143T229 213L171 171Q115 130 110 127Q106 124 100 124Q87 124 76 134T64 161Q64 166 64 169T67 175T72 181T81 188T94 195T113 204T138 215T170 230T210 250L74 315Q65 324 65 338Q65 353 74 363T98 374Q106 374 116 368T171 328L229 286Z"></path><path id="MJX-9-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path id="MJX-9-TEX-N-25" d="M465 605Q428 605 394 614T340 632T319 641Q332 608 332 548Q332 458 293 403T202 347Q145 347 101 402T56 548Q56 637 101 693T202 750Q241 750 272 719Q359 642 464 642Q580 642 650 732Q662 748 668 749Q670 750 673 750Q682 750 688 743T693 726Q178 -47 170 -52Q166 -56 160 -56Q147 -56 142 -45Q137 -36 142 -27Q143 -24 363 304Q469 462 525 546T581 630Q528 605 465 605ZM207 385Q235 385 263 427T292 548Q292 617 267 664T200 712Q193 712 186 709T167 698T147 668T134 615Q132 595 132 548V527Q132 436 165 403Q183 385 203 385H207ZM500 146Q500 234 544 290T647 347Q699 347 737 292T776 146T737 0T646 -56Q590 -56 545 0T500 146ZM651 -18Q679 -18 707 24T736 146Q736 215 711 262T644 309Q637 309 630 306T611 295T591 265T578 212Q577 200 577 146V124Q577 -18 647 -18H651Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D6FD" xlink:href="#MJX-9-TEX-I-1D6FD"></use></g><g data-mml-node="mn" transform="translate(599,-150) scale(0.707)"><use data-c="31" xlink:href="#MJX-9-TEX-N-31"></use></g></g><g data-mml-node="mo" transform="translate(1224.8,0)"><use data-c="2217" xlink:href="#MJX-9-TEX-N-2217"></use></g><g data-mml-node="mn" transform="translate(1947,0)"><use data-c="31" xlink:href="#MJX-9-TEX-N-31"></use><use data-c="30" xlink:href="#MJX-9-TEX-N-30" transform="translate(500,0)"></use><use data-c="30" xlink:href="#MJX-9-TEX-N-30" transform="translate(1000,0)"></use></g><g data-mml-node="mi" transform="translate(3447,0)"><use data-c="25" xlink:href="#MJX-9-TEX-N-25"></use></g></g></g></svg></mjx-container> relative to the "base" category, all else equal. The base category will vary by trait.</p>
<p>Selecting the right set of controls is non-trivial. One has any number of degrees of freedom to select a subset of controls among all those available, opening the doors to “p-hacking” and other infamous behavior, which can lead to incorrect (biased) estimates of the parameters of interest.</p>
<p>To avoid this, I leverage a powerful machine learning technique, Double Selection (specifically Double Lasso Selection), to do principled covariate selection for each trait <mjx-container class="MathJax" jax="SVG"><svg style="vertical-align: 0;" xmlns="http://www.w3.org/2000/svg" width="1.593ex" height="1.532ex" role="img" focusable="false" viewBox="0 -677 704 677" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-10-TEX-I-1D447" d="M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mi"><use data-c="1D447" xlink:href="#MJX-10-TEX-I-1D447"></use></g></g></g></svg></mjx-container>, rerunning the regression for every trait. As described in <a href="https://arxiv.org/abs/1201.0224">Belloni, Chernozhukov, Hansen (2011)</a>, this should provide a more accurate estimate of the income effect of each trait than simply using all the covariates or attempting to manually select a subset. I won’t cover the method in detail here, but refer to the original paper for more information. <a href="https://medium.com/teconomics-blog/using-ml-to-resolve-experiments-faster-bd8053ff602e">This post</a> provides a relatively intuitive explanation, and is also where I originally learned of the technique.</p>
<p>Long story short, Double Selection makes us much more confident that the results represent the accurate effects.</p>
<p><em>This post has been published on <a href="http://www.productschool.com">www.productschool.com</a> communities</em></p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[The Growth-Share Matrix of Software Development]]>
                        </title>
                        <description>
                            <![CDATA[]]>
                        </description>
                        <link>https://whoisnnamdi.com/the-growth-share-matrix-of-software-development/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/the-growth-share-matrix-of-software-development/</guid>
                        <category>
                                        <![CDATA[ Developers ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Thu, 22 Nov 2018 23:45:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512163462-growth_share_matrix_no_title.png" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p><strong>Human capital is our greatest asset.</strong></p>
<p>Like financial capital, <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">the all-powerful force of compound growth</a> means that a small difference in the rate of skill acquisition over time can lead to massive differences in career outcomes.</p>
<p>Choosing which skills to hone is therefore one of the most important keys to professional growth and success in any arena.</p>
<p>Among various forms of human capital, <strong>technical aptitude</strong> is quickly becoming <strong>the</strong> mission-critical skill for 21st century knowledge work.</p>
<p>However, there are any number of technologies that one could dive deep into and attempt to master, with varying usefulness and practical applicability.</p>
<p><strong>So how does one decide where to "invest" among a sea of options?</strong></p>
<p>A mental model I've found surprisingly helpful for this task is the <a href="https://www.economist.com/news/2009/09/11/growth-share-matrix">growth-share matrix</a>, a framework concocted 50 years ago by the Boston Consulting Group.</p>
<p>The framework was originally conceived as a tool to help executives prioritize different business units based on their respective relative market shares and growth. The two dimensions separate the market landscape into quadrants, each with certain characteristics:</p>
<ul>
<li>Stars (High Growth / High Share)</li>
<li>Cash cows (Low Growth / High Share)</li>
<li>Question marks (High Growth / Low Share)</li>
<li>Dogs (Low Growth / Low Share)</li>
</ul>
<p>BCG advised clients to invest in the stars, exploit the cows for their cash flow, evaluate the potential of the question marks, and exit or sell the dogs ASAP.</p>
<p>The growth-share matrix was originally intended to apply to product lines or business units - an asset a corporation could <em>own</em>. In that respect, you might imagine this framework has limited applicability to programming languages, given no single person "owns" any given language.</p>
<p>Not so fast!</p>
<p>I argue that we each <em>do</em> own a little piece of a programming language, not in the form of equity or stock, but in the form of <strong>human capital</strong>.</p>
<p>Through careful curation of a "portfolio" of useful skills, we earn a return on our learning efforts - rewards for our time and effort.</p>
<p>Learning a programming language is a <em>perfect</em> example of this.</p>
<p>But what makes a programming language <em>useful</em>?</p>
<p><strong>The value of any given programming language is a direct derivative of the number of other individuals who know that language and the number of companies using that language to develop and ship products.</strong></p>
<p>That may sound obvious to some, but it is in fact quite counter-intuitive.</p>
<p>In most of life's skills we seek to master the rare things - the things no one else can do. We think that by differentiating ourselves through a unique set of talents we will shine brighter in an increasingly competitive world. Learning that which is rare will pay meaningful dividends, so the thinking goes.</p>
<p>While yes, knowing an obscure language that few others have familiarity with might carve out a nice niche in the market for you to charge highly for your rare talents, I would argue that, for most, it is actually <em>more</em> valuable to know a language that <strong>lots of other people also know</strong>, rather than one only a few have ever worked with.</p>
<p>Most people think that programming is how you speak to <em>computers</em>. Really, it's how you speak to <strong>other developers</strong>.</p>
<p>Due to network effects and the increasing size, scale, and scope of software development projects and teams, knowing the "<a href="https://en.wikipedia.org/wiki/Lingua_franca">lingua franca</a>" is <strong>much more</strong> valuable than being an expert in some endangered language, soon to be discarded to the trash bin on the desktop of history.</p>
<p>Paradoxically, having low <em>personal</em> market share in a high market share <em>language</em> is actually not such a bad thing.</p>
<h2>Building the Matrix</h2>
<p><img src="https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?ixlib=rb-0.3.5&#x26;q=80&#x26;fm=jpg&#x26;crop=entropy&#x26;cs=tinysrgb&#x26;w=1080&#x26;fit=max&#x26;ixid=eyJhcHBfaWQiOjExNzczfQ&#x26;s=59773981c4a4762fe474590959ddf064" alt="Matrix movie still"></p>
<p>To construct the growth-share matrix for programming languages, we will leverage StackOverflow's <a href="https://insights.stackoverflow.com/survey/">annual developer survey</a>. For the <a href="https://insights.stackoverflow.com/survey/2018/">2018 edition</a>, they surveyed over 100,000 developers from around the world, covering a wide range of topics from job satisfaction to salary. Here we'll focus on US-based developers.</p>
<p>The key question for our purposes is:</p>
<blockquote>
<p>"Which of the following programming, scripting, and markup languages have you done extensive development work in over the past year?”</p>
</blockquote>
<p>Answers to this question should give us a rough proxy of the popularity of any given language, as defined by the proportion of developers who have worked with a particular language.</p>
<p>For growth, we can compare the answers to this question across 2017 and 2018 to come up with an estimate of the growth of each language. We'll define growth as the % growth rate of the proportion of respondents who've worked with the language in the past year. So, a language that went from 10% coverage to 13% would be considered to have grown 30% (rather than 3 percentage points).</p>
<p>Quadrant boundaries will be set at the median growth rate and relative market share.</p>
<p>One final piece - as is convention with the growth-share matrix, we will show market share relative to the language with the most market share. Therefore, the axis will end at 100% (representing the most popular language). We will also show this on a log scale to better showcase the distribution, which tends to be quite crowded below 10% relative market share.</p>
<p>We now have all we need to build our growth-share matrix!</p>
<h2>Inside the Matrix</h2>
<p>Take a look at the results:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/11/growth_share_matrix-3.png" alt=""></p>
<p>One striking feature that immediately jumps out - very few languages saw a net decline in popularity. <strong>Almost every language grew</strong>, which by definition implies that the average developer is using an increasingly wide array of languages in their work.</p>
<p>Let’s spin through each quadrant and discuss some of the highlights.</p>
<h2>Stars</h2>
<p><img src="https://images.unsplash.com/photo-1481015172496-8cfcb0d85e59?ixlib=rb-0.3.5&#x26;q=80&#x26;fm=jpg&#x26;crop=entropy&#x26;cs=tinysrgb&#x26;w=1080&#x26;fit=max&#x26;ixid=eyJhcHBfaWQiOjExNzczfQ&#x26;s=c67577076a4f8934b61e78fa16a91909" alt="pink star ornament decor"></p>
<p><strong><em>Python</em></strong> <em>-</em> <a href="https://en.wikipedia.org/wiki/Python_(programming_language)">Python has existed for decades</a> but only recently hit its stride as a go-to language for data analytics and machine learning use cases. Python is widely-regarded as one of the best languages for data-driven analysis given its relative ease of use and massive set of open source libraries that simplify and accelerate analytics. Python's syntax is quite simple compared to other languages. Ease of use and speed are especially important in data science, as data scientists often run and re-run numerous iterations of a model before settling on a preferred specification. The growing popularity of interactive and replicable computing environments like Jupyter notebooks dovetails nicely with Python's surging share among developers. I'm personally quite pleased to see Python's high popularity given I've spent the past 2 years self-teaching myself the language!</p>
<p><strong><em>Ruby</em></strong> <em>-</em> Ruby has historically been known for its extreme ease of use and strength within web development. Many a web developer wrote their first web app in Ruby. <a href="https://rubyonrails.org/">The Ruby on Rails framework</a> only extended this user-friendliness further, making Ruby incredibly popular among developers who want a no-frills way to quickly develop and deploy functional web applications. For several reasons however, Ruby's growth is slowing and has been for a few years now. <a href="https://www.techrepublic.com/article/the-death-of-ruby-developers-should-learn-these-languages-instead/">No, Ruby is not “dead”</a>, but it will likely migrate to the cash cow zone soon as the initial fanfare wears off. Ruby continues to be a great language that serves developers well.</p>
<p><strong><em>Go</em></strong> <em>-</em> A new language seeing <a href="https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65">rapid adoption</a> among developers, Go simplifies the process of writing code, thereby making developers more efficient. Go was initially birthed at Google, where technical teams were trying to solve engineering problems that only seemed to be multiplying in an era of increasingly large codebases, multicore processors, and network-aware applications. Go is built with concurrency in mind, making it relatively easy to build multi-threaded applications. Outside of Google, major companies making use of Go include Uber, Netflix, Adobe, IBM, Intel, Dropbox, CloudFlare, and more.</p>
<p><strong><em>TypeScript</em></strong> <em>-</em> I debated including TypeScript as its own language here given its strong similarities to and overlap with JavaScript, but developers with experience in the language seem to be a distinct group worth highlighting. The language has also seen a <a href="https://thenewstack.io/typescript-getting-popular/">surge of growth</a> in the past few years. The fundamental goal of TypeScript is to ease development of large-scale applications that would otherwise be written in vanilla JavaScript. Accordingly, TypeScript is a superset of JavaScript that also compiles to simple JavaScript. Why the distinction then? Typescript adds a number of features to core JavaScript common to other languages, such as classes and modules, in addition to strong typing, generics and interfaces. TypeScript is developed and maintained by Microsoft.</p>
<p><strong>Takeaway</strong> - These languages are highly popular and would constitute a solid foundation any budding developer or product manager. If you don't already have basic proficiency in at least some of the stars - I implore you: <strong>learn these growing tools of the trade</strong>.</p>
<h2>Cash Cows</h2>
<p><img src="https://images.unsplash.com/photo-1446126102442-f6b2b73257fd?ixlib=rb-0.3.5&#x26;q=80&#x26;fm=jpg&#x26;crop=entropy&#x26;cs=tinysrgb&#x26;w=1080&#x26;fit=max&#x26;ixid=eyJhcHBfaWQiOjExNzczfQ&#x26;s=7147b447746e0bd07fed39b36de70c9a" alt="black and white dairy cow on green grasses during daytime"></p>
<p><strong><em>JavaScript</em></strong> <em>-</em> <a href="https://www.simplytechnologies.net/blog/2018/4/11/why-is-javascript-so-popular">JavaScript has become the go-to language</a> for modern web development, with a number of <a href="https://raygun.com/blog/popular-javascript-frameworks/">spin-off frameworks</a> that leverage its core elements. JavaScript is more popular than Java today, due to the ubiquity of web applications today and the move SaaS and other web-based models for application consumption. Here, JavaScript is leading the charge, and the numbers reflect that. However, it should be noted that, despite similar nomenclature, <a href="https://www.geeksforgeeks.org/difference-between-java-and-javascript/">Java and JavaScript are not closely related</a> (it's a long story). Both are object-oriented, but the similarities end there.</p>
<p><strong><em>Java</em></strong> - Java has long been a popular language for cross-platform development, and this flexibility has continued as new platforms have emerged, such as mobile. One of Java's many conventions is the idea of "<a href="https://en.wikipedia.org/wiki/Write_once,_run_anywhere">write once, run anywhere</a>", meaning that code written in Java can be run on any other platform that supports Java with no recompiling. When complete, Java applications are compiled into <a href="https://en.wikipedia.org/wiki/Bytecode">bytecode</a> which runs on a Java Virtual Machine. Originally built by Sun Microsystems, through acquisitions it's ended up in the hands of Oracle today.</p>
<p><strong><em>SQL</em></strong> <em>-</em> SQL (Structured Query Language) is an old workhorse that needs no introduction. It has existed for quite some time and is the main means by which analysts query and pull data from relational databases and data warehouses. Despite the popularity of “<a href="https://www.mongodb.com/nosql-explained">NoSQL</a>” and other non-relational frameworks, <a href="https://raygun.com/blog/popular-javascript-frameworks/">SQL remains king</a>, and in recent years many of these other frameworks have bolted on SQL-like interfaces in order to ease data extraction and transformation. As companies collect data from a greater range of diverse sources and continue to store this information in central databases, SQL will only increase in importance.</p>
<p><strong><em>The C Family</em></strong> <em>-</em> No big surprise here - the extended family of C languages has held a strong position within the software development community for some time and continues to serve as the backbone for many critical applications we know and love today. Further, C has found its way into other languages as well. For example, the reference implementation of Python, CPython, is written in C and Python, and significant chunks of the core Python codebase are actually written in C due to it being a compiled (rather than interpreted) language and thus having faster performance at runtime. <a href="https://stackify.com/popular-programming-languages-2018/">C is a hugely influential language</a> that will not be going away any time soon.</p>
<p><strong><em>PHP</em></strong> <em>-</em> PHP lands squarely in the cash cow category. PHP is a server-side scripting language primarily suited for web development, as evidenced by its original meaning of “personal home page". <a href="https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites">Numerous popular websites and web applications are built on PHP</a>, including, perhaps mostly famously, WordPress. However, the language has stagnated in terms of popularity, in part to due to its <a href="https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/">clunkiness</a> and security vulnerabilities, where PHP has historically suffered from a number of severe exploits (ex: <a href="https://en.wikipedia.org/wiki/SQL_injection">SQL injection</a>). That said, this is another language with incredible market share that will continue to see broad use for quite some time.</p>
<p><em><strong>Swift</strong></em> - The popularity of Swift derives directly from the underlying popularity of macOS and iOS devices which, though a minority of overall smartphone shipments, represents a massive install base, especially among more affluent western populations. Launched in 2014, Swift initially saw massive growth, <a href="https://9to5mac.com/2018/03/09/swift-ranking-programming-languages/">becoming one of the fastest growing languages in history</a>. Swift is heavily influenced by Objective-C, another cash cow, which it recently surpassed in popularity. As the brainchild of Apple, Swift will live or die by Apple's own success, so plan accordingly.</p>
<p><strong>Takeaway</strong> - These languages really pay the bills. If you are already proficient in any of the above languages, great, leverage that saved time to pick up some skills in the rising stars. If you do not know these languages well today, evaluate how practical / necessary they are for the specific set of projects you want to work on now or in the near future.</p>
<h2>Question marks</h2>
<p><img src="https://images.unsplash.com/photo-1484069560501-87d72b0c3669?ixlib=rb-0.3.5&#x26;q=80&#x26;fm=jpg&#x26;crop=entropy&#x26;cs=tinysrgb&#x26;w=1080&#x26;fit=max&#x26;ixid=eyJhcHBfaWQiOjExNzczfQ&#x26;s=8248324d302ce16e516054824000b147" alt="question mark neon signage"></p>
<p><strong><em>Rust</em></strong> <em>-</em> Rust is a relatively new programming language that only appeared on the scene in the last decade. While Rust is technically a general-purpose language, due to its low-level nature, it is best used for embedded systems running close to bare metal. Comparisons are often made between Rust and C++, in part driven by their syntactic similarities. <a href="https://medium.com/mozilla-tech/why-rust-is-the-most-loved-language-by-developers-666add782563">Rust is often known to create enthusiastic fans among its users</a>. Though far from being one of the more popular languages, it is truly loved by the people who use it most. Development on Rust is quite active today, ensuring the language will stay on the bleeding edge for the foreseeable future.</p>
<p><em><strong>Scala</strong> -</em> Like Go, Scala is language oriented towards improving developer productivity. The name Scala is a portmanteau of "scalable" and "language", which hints at original intent of the language to enable high performance of large-scale applications and userbases. Scala is built on JVM and JavaScript runtimes and combines elements of object-oriented and functional programming. Due to these strong connections, Scala is often seen as "next-gen" Java. Scala is uniquely suited for parallel and distributed computing, providing a level of future-proofing that many legacy languages lack. Though popular among a certain subset of developers, its growth appears to have <a href="https://dzone.com/articles/the-rise-and-fall-of-scala">prematurely slowed</a> relative to languages like Go or Rust. Its boosters hope that Scala may one day overtake Java, but this won't happen for some time, if ever.</p>
<p><em><strong>R</strong></em> - R slightly missed the cutoff for star status, but given its incredible ~40% growth rate the language will easily cross the boundary next year. R is exploding in popularity for the same reasons as Python, though <a href="https://www.datacamp.com/community/tutorials/r-or-python-for-data-analysis">most consider Python to be relative winner</a> in terms of speed, ease of use and general applicability. R's historical strength in data science and statistical analysis is now powering a major renaissance for R. Enthusiasts celebrated <a href="https://blog.revolutionanalytics.com/2018/08/r-generation.html">R's 25th anniversary</a> earlier this year, and with the helpful tailwind of data science, the language shows no signs of slowing down.</p>
<p><em><strong>Haskell</strong></em> - Function over form, or in the case of Haskell, have both. Haskell is a <a href="https://en.wikipedia.org/wiki/Purely_functional_programming">purely functional</a> programming language, meaning that the language focuses on functions that take immutable values as input and produce the exact same output every single time. It's also <a href="https://en.wikipedia.org/wiki/Lazy_evaluation">lazy</a>, which simply means results are not evaluated until absolutely necessary. These and other features make Haskell a very powerful and efficient language in the right hands but also potentially limit its applicability. Haskell's cult following is growing rapidly from its small base, but it's hard to say how long this will continue.</p>
<p><strong>Takeaway</strong> - They're called <em>question marks</em> for a reason. No one really knows how the future will play out for these emerging technologies. They are probably not worth betting the farm on today, but they are also prime candidates for becoming the next "must-know" tools among forward-looking dev teams. Keep an eye on them.</p>
<h2>Dogs</h2>
<p><img src="https://whoisnnamdi.com/content/images/2018/11/doge.jpg" alt=""></p>
<p><strong><em>Visual Basic (All Flavors)</em></strong> - VB.NET, VBA, VB6 - whichever your flavor, the Visual Basic ecosystem has clearly fallen from grace. VB.NET is one of only two languages in the growth-share matrix to actually lose share in 2018. <a href="https://arstechnica.com/information-technology/2017/02/microsofts-developer-strategy-c-for-fancy-features-visual-basic-for-beginners/">Significant chunks of VB's functionality exist in C# now</a>, and Microsoft's stance towards the languages has not been 100% clear, having gone from originally planning to end support for the language in 2008 to recently declaring that <a href="https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/visual-basic-6-support-policy">Windows 10 will support the VB runtime</a> for the lifetime of the OS. This is great for legacy applications built using Visual Basic, but these will inevitably need to be rewritten in a modern language or be end-of-lifed.</p>
<p><strong>Takeaway</strong> - Unlike real dogs, dogs within the growth-share matrix are bound to be controversial. Developers and development teams need to seriously grapple with the current state of affairs these languages face and whether or not it's advisable to spend significant time and resources building applications powered by these less popular languages.</p>
<h2>(Human) Capital Allocation</h2>
<p><img src="https://images.unsplash.com/photo-1523006520266-d3a4a8152803?ixlib=rb-0.3.5&#x26;q=80&#x26;fm=jpg&#x26;crop=entropy&#x26;cs=tinysrgb&#x26;w=1080&#x26;fit=max&#x26;ixid=eyJhcHBfaWQiOjExNzczfQ&#x26;s=fc3154037ad3cd02837b7591d6dc1424" alt="person holding pen"></p>
<p>The moral of the story - <strong>think critically about where to invest your time</strong>.</p>
<p>To be clear - it’s not the end of the world if you pick the “wrong” language. In fact, there really aren’t any wrong choices here, even the "dogs". <strong>Use the best tool for the job.</strong> However, it certainly helps to avoid the transition costs inherent in trying to reposition oneself or play catch up later on.</p>
<p>If anything, don’t try to reposition yourself <em>per se</em>, but rather, seek to enhance your overall value and breadth of capabilities by acquiring at least intermediate mastery in several different languages. Again, similar to spoken languages, people who can converse in multiple valuable languages often gain disproportionate value from their learning efforts, which tend to <a href="https://whoisnnamdi.com/you-dont-understand-compound-growth/">compound on one another</a>, especially when learning the basic features which form the building blocks of many dialects.</p>
<p>Remember, this mental model, though imperfect, is arguably flexible enough to accommodate many skills, <em>not just programming</em>.</p>
<p>I hope this framework is useful to you as you decide where to grow your human capital as a technically savvy individual.</p>
<p><em>You can find the full backup to this analysis in both Jupyter notebook and .py script format at my <a href="https://gitlab.com/whoisnnamdi/growth-share-matrix">GitLab</a> or <a href="https://github.com/whoisnnamdi/growth-share-matrix">GitHub</a>.</em></p>
<p><em>This post has been published on <a href="http://www.productschool.com">www.productschool.com</a> communities</em></p> ]]>
                        </content:encoded>
                    </item>
                    <item>
                        <title>
                            <![CDATA[You Don't Understand Compound Growth]]>
                        </title>
                        <description>
                            <![CDATA[]]>
                        </description>
                        <link>https://whoisnnamdi.com/you-dont-understand-compound-growth/</link>
                        <guid isPermaLink="true">https://whoisnnamdi.com/you-dont-understand-compound-growth/</guid>
                        <category>
                                        <![CDATA[ Founders ]]>
                                    </category>
                                <category>
                                        <![CDATA[ Investors ]]>
                                    </category>
                                
                        <dc:creator>
                            <![CDATA[ Nnamdi Iregbulem ]]>
                        </dc:creator>
                        <pubDate>Tue, 02 Oct 2018 08:13:00 GMT</pubDate>
                        <media:content url="https://fbnlxna1ujeyw7ap.public.blob.vercel-storage.com/1766512161572-einstein.jpg" medium="image" />
                        <content:encoded>
                            <![CDATA[ <p>Einstein once (<a href="https://www.snopes.com/fact-check/compound-interest/">supposedly</a>) said:</p>
<blockquote>
<p>Compound interest is the most powerful force in the universe</p>
</blockquote>
<p>Of compound interest, Warren Buffet <a href="https://www.marketwatch.com/story/this-warren-buffett-rule-can-work-wonders-on-your-portfolio-2016-04-26">proclaims</a>:</p>
<blockquote>
<p>Over time it accomplishes extraordinary things</p>
</blockquote>
<p>Compound interest, or growth, is one of the, if not the most, powerful and impactful forces in nature.</p>
<p>And yet, it is also one of the <strong>most consistently misunderstood</strong> in the world of business.</p>
<p>How so?</p>
<p>Simply, we misapply the term "compound growth" to things that do not actually grow in compound fashion.</p>
<p>Let's first establish what "compound growth" even means.</p>
<p>I propose the following operative definition:</p>
<blockquote>
<p>Compound growth ~ constant growth</p>
</blockquote>
<p>The fact is, very few objects, organisms or organizations can sustain truly compounding growth over any extended period.</p>
<p>From an observer's or investor's perspective, it's quite easy to fool yourself into thinking compound, exponential growth is much more common than it really is. And it's understandable given how often the term is thrown around. Firms in fleeting phases of fast growth can visually demonstrate their breakneck pace with the ubiquitous, infamous "<a href="https://andrewchen.co/the-most-common-mistake-when-forecasting-growth-for-new-products-and-how-to-fix-it/">hockey stick</a>" chart.</p>
<p>Who could argue with that?</p>
<p>As an entrepreneur or operator, you too can fall prey to your own fictions - convincing yourself you've "cracked the code" when you've only really cracked the piggy bank. Irrational exuberance eventually turns concave, finally ending in a plateau of linearity.</p>
<p>Through some examples, I hope to demonstrate that compound growth 1) implies constant growth 2) is exceedingly rare and 3) is incredibly important to building a large, valuable business.</p>
<p>But before we get to business, let's talk about - bacteria.</p>
<h2>Bacteria and Bricklayers</h2>
<p><img src="https://upload.wikimedia.org/wikipedia/commons/3/32/EscherichiaColi_NIAID.jpg" alt="Bacteria"></p>
<p>In bacteria populations, growth is <strong>fixed</strong>. Subject to the resource constraints of the environment they inhabit, bacteria grow at a constant rate indefinitely.</p>
<p>A simple example to illustrate the point:</p>
<p>Let's say we have some bacteria that reproduce on a fixed time schedule, one doubling per minute to keep the numbers simple.</p>
<p>We start with a single bacteria cell. After one minute, we'll have two bacteria. With time, the population grows as such:</p>
<ul>
<li>1</li>
<li>2</li>
<li>4</li>
<li>8</li>
<li>16</li>
<li>...</li>
</ul>
<p>Now we ask the question, how fast does our bacteria population grow (in percentage terms)?</p>
<p>The number of bacteria cells one minute from now is:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.471ex;" xmlns="http://www.w3.org/2000/svg" width="10.438ex" height="1.977ex" role="img" focusable="false" viewBox="0 -666 4613.8 874" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-1-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-1-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-1-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-1-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-1-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-1-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-1-TEX-I-1D45B"></use></g><g data-mml-node="TeXAtom" transform="translate(633,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(361,0)"><use data-c="2B" xlink:href="#MJX-1-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(1139,0)"><use data-c="31" xlink:href="#MJX-1-TEX-N-31"></use></g></g></g><g data-mml-node="mo" transform="translate(2119.7,0)"><use data-c="3D" xlink:href="#MJX-1-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(3175.5,0)"><use data-c="32" xlink:href="#MJX-1-TEX-N-32"></use></g><g data-mml-node="msub" transform="translate(3675.5,0)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-1-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-1-TEX-I-1D461"></use></g></g></g></g></svg></mjx-container>
<p>Which implies the minute-over-minute growth rate is:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -1.909ex;" xmlns="http://www.w3.org/2000/svg" width="32.417ex" height="4.945ex" role="img" focusable="false" viewBox="0 -1342 14328.2 2185.8" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-2-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-2-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-2-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-2-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-2-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-2-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-2-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="msub" transform="translate(220,676)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-2-TEX-I-1D45B"></use></g><g data-mml-node="TeXAtom" transform="translate(633,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(361,0)"><use data-c="2B" xlink:href="#MJX-2-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(1139,0)"><use data-c="31" xlink:href="#MJX-2-TEX-N-31"></use></g></g></g><g data-mml-node="msub" transform="translate(671.8,-686)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-2-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g></g><rect width="2041.9" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(2504.2,0)"><use data-c="2212" xlink:href="#MJX-2-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(3504.4,0)"><use data-c="31" xlink:href="#MJX-2-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(4282.2,0)"><use data-c="3D" xlink:href="#MJX-2-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(5337.9,0)"><g data-mml-node="mrow" transform="translate(220,676)"><g data-mml-node="mn"><use data-c="32" xlink:href="#MJX-2-TEX-N-32"></use></g><g data-mml-node="msub" transform="translate(500,0)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-2-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g></g></g><g data-mml-node="msub" transform="translate(470,-686)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-2-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-2-TEX-I-1D461"></use></g></g><rect width="1638.3" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(7438.4,0)"><use data-c="2212" xlink:href="#MJX-2-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(8438.7,0)"><use data-c="31" xlink:href="#MJX-2-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(9216.4,0)"><use data-c="3D" xlink:href="#MJX-2-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(10272.2,0)"><use data-c="32" xlink:href="#MJX-2-TEX-N-32"></use></g><g data-mml-node="mo" transform="translate(10994.4,0)"><use data-c="2212" xlink:href="#MJX-2-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(11994.7,0)"><use data-c="31" xlink:href="#MJX-2-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(12772.4,0)"><use data-c="3D" xlink:href="#MJX-2-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(13828.2,0)"><use data-c="31" xlink:href="#MJX-2-TEX-N-31"></use></g></g></g></svg></mjx-container>
<p>or 100%.</p>
<p>This is an example of perfectly compounding growth, also referred to as <strong>exponential</strong> or <strong>geometric growth</strong>.</p>
<p>Put simply, how fast the bacteria grow is entirely independent of population size. In other words, growth and scale are perfectly uncorrelated.</p>
<p>Importantly, <strong>most things do not work this way</strong>.</p>
<h3>Layering on</h3>
<p>Let's look at another example - constructing a brick wall.</p>
<p>Assume a bricklayer can lay 10 bricks per hour. The brick count will proceed as follows</p>
<ul>
<li>0</li>
<li>10</li>
<li>20</li>
<li>30</li>
<li>40</li>
<li>...</li>
</ul>
<p>The brick count grows by 10 bricks per hour.</p>
<p>Going through the same growth rate calculations from above:</p>
<p>The number of bricks 1 hour from now will be:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -0.471ex;" xmlns="http://www.w3.org/2000/svg" width="14.335ex" height="1.977ex" role="img" focusable="false" viewBox="0 -666 6336.2 874" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-3-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-3-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-3-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-3-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-3-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-3-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-3-TEX-I-1D45B"></use></g><g data-mml-node="TeXAtom" transform="translate(633,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-3-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(361,0)"><use data-c="2B" xlink:href="#MJX-3-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(1139,0)"><use data-c="31" xlink:href="#MJX-3-TEX-N-31"></use></g></g></g><g data-mml-node="mo" transform="translate(2119.7,0)"><use data-c="3D" xlink:href="#MJX-3-TEX-N-3D"></use></g><g data-mml-node="msub" transform="translate(3175.5,0)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-3-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-3-TEX-I-1D461"></use></g></g><g data-mml-node="mo" transform="translate(4336,0)"><use data-c="2B" xlink:href="#MJX-3-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(5336.2,0)"><use data-c="31" xlink:href="#MJX-3-TEX-N-31"></use><use data-c="30" xlink:href="#MJX-3-TEX-N-30" transform="translate(500,0)"></use></g></g></g></svg></mjx-container>
<p>Which implies hour-over-hour growth is:</p>
<mjx-container class="MathJax" jax="SVG" display="true"><svg style="vertical-align: -1.909ex;" xmlns="http://www.w3.org/2000/svg" width="31.387ex" height="4.945ex" role="img" focusable="false" viewBox="0 -1342 13872.9 2185.8" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-4-TEX-I-1D45B" d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z"></path><path id="MJX-4-TEX-I-1D461" d="M26 385Q19 392 19 395Q19 399 22 411T27 425Q29 430 36 430T87 431H140L159 511Q162 522 166 540T173 566T179 586T187 603T197 615T211 624T229 626Q247 625 254 615T261 596Q261 589 252 549T232 470L222 433Q222 431 272 431H323Q330 424 330 420Q330 398 317 385H210L174 240Q135 80 135 68Q135 26 162 26Q197 26 230 60T283 144Q285 150 288 151T303 153H307Q322 153 322 145Q322 142 319 133Q314 117 301 95T267 48T216 6T155 -11Q125 -11 98 4T59 56Q57 64 57 83V101L92 241Q127 382 128 383Q128 385 77 385H26Z"></path><path id="MJX-4-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-4-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-4-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-4-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-4-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="scale(1,-1)"><g data-mml-node="math"><g data-mml-node="mfrac"><g data-mml-node="msub" transform="translate(220,676)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-4-TEX-I-1D45B"></use></g><g data-mml-node="TeXAtom" transform="translate(633,-150) scale(0.707)" data-mjx-texclass="ORD"><g data-mml-node="mi"><use data-c="1D461" xlink:href="#MJX-4-TEX-I-1D461"></use></g><g data-mml-node="mo" transform="translate(361,0)"><use data-c="2B" xlink:href="#MJX-4-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(1139,0)"><use data-c="31" xlink:href="#MJX-4-TEX-N-31"></use></g></g></g><g data-mml-node="msub" transform="translate(671.8,-686)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-4-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-4-TEX-I-1D461"></use></g></g><rect width="2041.9" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(2504.2,0)"><use data-c="2212" xlink:href="#MJX-4-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(3504.4,0)"><use data-c="31" xlink:href="#MJX-4-TEX-N-31"></use></g><g data-mml-node="mo" transform="translate(4282.2,0)"><use data-c="3D" xlink:href="#MJX-4-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(5337.9,0)"><g data-mml-node="mrow" transform="translate(220,676)"><g data-mml-node="msub"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-4-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-4-TEX-I-1D461"></use></g></g><g data-mml-node="mo" transform="translate(1160.5,0)"><use data-c="2B" xlink:href="#MJX-4-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(2160.7,0)"><use data-c="31" xlink:href="#MJX-4-TEX-N-31"></use><use data-c="30" xlink:href="#MJX-4-TEX-N-30" transform="translate(500,0)"></use></g><g data-mml-node="mo" transform="translate(3382.9,0)"><use data-c="2212" xlink:href="#MJX-4-TEX-N-2212"></use></g><g data-mml-node="msub" transform="translate(4383.2,0)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-4-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-4-TEX-I-1D461"></use></g></g></g><g data-mml-node="msub" transform="translate(2411.6,-686)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-4-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-4-TEX-I-1D461"></use></g></g><rect width="5521.4" height="60" x="120" y="220"></rect></g><g data-mml-node="mo" transform="translate(11377.1,0)"><use data-c="3D" xlink:href="#MJX-4-TEX-N-3D"></use></g><g data-mml-node="mfrac" transform="translate(12432.9,0)"><g data-mml-node="mn" transform="translate(220,676)"><use data-c="31" xlink:href="#MJX-4-TEX-N-31"></use><use data-c="30" xlink:href="#MJX-4-TEX-N-30" transform="translate(500,0)"></use></g><g data-mml-node="msub" transform="translate(250.9,-686)"><g data-mml-node="mi"><use data-c="1D45B" xlink:href="#MJX-4-TEX-I-1D45B"></use></g><g data-mml-node="mi" transform="translate(633,-150) scale(0.707)"><use data-c="1D461" xlink:href="#MJX-4-TEX-I-1D461"></use></g></g><rect width="1200" height="60" x="120" y="220"></rect></g></g></g></svg></mjx-container>
<p>Notice that the growth rate depends on how many bricks we've already laid. This is <strong>linear</strong> or <strong>arithmetic growth</strong>. Because the number of bricks laid each hour is static through time, growth (in percentage terms) necessarily slows down. Scale is in the denominator. Therefore, growth and scale are negatively correlated: more scale -> less growth.</p>
<p>Sure, initially we are growing the brick count quite fast - 100% in fact. But by the time we reach 30 bricks, our forward-looking growth rate has fallen to 33%. At 100 bricks, we'll only be growing 10% - which is a far cry from our halcyon days of tech reporters and venture capitalists gawking at our growing (tech enabled) bricklaying operation.</p>
<h2>Two flavors of growth</h2>
<p>The key difference between the bricks and the bacteria is that one has <strong>scale invariant growth (SIG)</strong> and the other... doesn't.</p>
<p>OK OK, friends who reviewed this before publishing said that was a big word/phrase to suddenly drop. So let's take a step back and examine this phenomenon visually before moving forward.</p>
<p>A great way to do this is plot the growth rate of the bacteria and bricks over time:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/09/bacteria-bricklayer-1.png" alt="bacteria-bricklayer-1"></p>
<p>The bacteria grow at a constant rate over time. For the bricklayer, growth simply... collapses.</p>
<p>I've plotted this chart hundreds of times over the years, and for most startups the growth plot looks <em>eerily</em> similar to the bricks here.</p>
<p>Growth is not the natural order; growth cannot be taken for granted. As we get <strong>larger</strong>, we get <em>slower</em>.</p>
<p>I mentioned correlation earlier. The correlation between growth and scale in the case of the bacteria is <strong>0</strong> - perfectly uncorrelated.</p>
<p>For the brick count, the correlation is <strong>-0.7</strong>, a very strong negative correlation.</p>
<p>We've now established two ends of a spectrum we can use to characterize various forms of growth.</p>
<p>On one side, we have linear/additive/arithmetic/correlated growth, and on the other we have exponential/multiplicative/geometric/uncorrelated growth.</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/09/growthspectrum.png" alt=""></p>
<p>The question now is, where do various things fall along this spectrum? Said another way, how accurate is it to say that "XYZ" grows in compounding fashion?</p>
<p>Let's walk through some more examples.</p>
<h3>Debt</h3>
<p>Compound growth is often used in reference to compound interest earned on a financial instrument of some sort.</p>
<p>Anyone who has ever suffered through mounting credit card debt knows this quite well. <strong>Debt grows like bacteria</strong> - it multiplies without end at a rate that depends entirely on the interest rate and not at all on the current balance.</p>
<p>1%, 5%, 10% - whatever the interest rate, unless paid off, debt continues to grow without end. If only paid off partially, the remaining balance will continue to grow.</p>
<p>Not a bad business model if you ask me.</p>
<h3>World GDP Per Capita</h3>
<p>Growth is not the natural state of affairs. For most of human history there was no meaningful economic growth or improvement in livings standards for the average person. Until recently, Life was nasty, brutish, short and... static:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/gdp-world.jpg" alt="gdp-world"></p>
<p>Unless growth is literally contractual, as in the case of debt and interest, we can't take it for granted, as history plainly shows.</p>
<p>And it's not simply a question of the scale of the axis. If you zoomed into that long straight line, you wouldn't see a hockey stick growth pattern. Living standards actually <strong>did not</strong> improve meaningfully over time for the vast majority of human existence on this planet.</p>
<p>A few years of bad weather, major epidemics like the Black Death (the bacteria strike again), social upheaval - these events drastically impacted the day-to-day well-being and lives of our ancestors, often erasing decades of progress.</p>
<p>Even today, many parts of the world experience major swings in their rates of growth, especially within the developing world. Regions and countries can end up in severe economic doldrums, leading to entire lost generations.</p>
<p>Many stops and starts, fits and spurts.</p>
<p>However, before we get too depressed, let's look at a best case scenario.</p>
<h3>U.S. GDP</h3>
<p>The good ol' US of A ('s real GDP):</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/real-gdp.png" alt=""></p>
<p>Looks pretty good huh? Let's look at the growth plot:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/09/realgdpgrowth.png" alt="realgdpgrowth"></p>
<p>Ugh, this is pretty noisy. It's difficult to tell if growth is changing in significant ways year-to-year or if it is generally variation around a certain value.</p>
<p>This view hides some interesting detail. One neat math trick - taking the natural log rescales a metric such that, when graphed, <em>linearity implies constant growth</em>.</p>
<p>Do this, and the real GDP chart becomes:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/logrealgdp.png" alt=""></p>
<p>Over this period, we can make a few interesting observations:</p>
<ul>
<li>Log real GDP is impressively linear - one could fit a linear line to the above data fairly well, implying reasonably constant growth</li>
<li>That said, it is not perfectly linear, and therefore not perfectly compounding, per our earlier definition</li>
<li>We can see multiple distinct inflection points where growth changed, in connection with recessions (1970, 2008)</li>
</ul>
<p>Taking advantage of these kinks in the curve, let's estimate the growth during each period through piecewise linear regression (i.e. the "line of best fit" for each period):</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/logrealgdp-piecewisereg.png" alt="logrealgdp-piecewisereg"></p>
<p>Annual real growth goes from <strong>3.9%</strong> in the 1947-1970 period, to <strong>3.1%</strong> in the 1970-2008 period, to <strong>2.1%</strong> in the 2008-2017 period.</p>
<p>The economists yelling and screaming that we are on <a href="https://www.youtube.com/watch?v=1eCYq2vD5GY">permanently lower trajectory</a> after the most recent recession may have a point.</p>
<p>So not exactly constant growth, but still impressive given the real economy grew 8x+ over this period. Growth has roughly halved over a 70-year period.</p>
<p>In terms of the connection between growth and scale, the correlation here is <strong>-0.3</strong>, which certainly indicates a relationship, but not a strong one.</p>
<p>We can therefore conclude that U.S. GDP grows in reasonably compound fashion.</p>
<h3>Revenue</h3>
<p>Most businesses see their revenue growth rate tick down over time. This is even more true for companies that are growing quickly today.</p>
<p>On the other hand, some exceptional businesses have managed to drive truly compound growth over long periods.</p>
<p>Take Amazon for example, which has exhibited incredible revenue growth over time ($B):</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/amzn-revenue.png" alt="amzn-revenue"></p>
<p>This is an impressive chart in its own right. But I am actually more impressed by the log-transformed chart, which is nearly a straight line:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/amzn-logrev.png" alt="amzn-logrev"></p>
<p><strong>Amazon has grown at a nearly constant rate over almost two decades</strong>, despite increasing scale by 64x over the period.</p>
<p>At best, one could identify a slight kink in growth in 2011. Replicating the piecewise analysis, we can see that Amazon grew ~30% year-over-year from 2000 to 2011 and ~23% year-over-year from 2011 to 2017.</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/amzn-logrev-piecewisereg.png" alt="amzn-logrev-piecewisereg"></p>
<p>Amazon's growth-scale correlation? <strong>-0.1</strong>!</p>
<p>It's hard to put into words how impressive that single number is. Worth reiterating: <strong>most things do not work this way</strong>.</p>
<p>Amazon is an exceptional business that has evidently identified a way to grow at a nearly constant rate over many years. A combination of tapping into the long-run secular growth of e-commerce and deft expansion into seemingly orthogonal spaces (for example, via Amazon Web Services) that in fact leverage the core infrastructure the company's built up over time has enabled it to grow in bacteria-like fashion.</p>
<h2>Growth functions: Are you adding or multiplying?</h2>
<p>Every growing business needs an honest answer to this question: Is your business growing through multiplication, like the Amazonian bacteria, or addition, like the brick wall?</p>
<p><strong>Businesses that simply "add" must necessarily slow down</strong>, by the simple math we outlined earlier. Scale begins to work against you, making it harder and harder to maintain a rapid growth pace. <strong>Eventually, you will, figuratively, hit a wall</strong>.</p>
<p>An example of an additive growth function is paid customer acquisition through a channel like Google Adwords.</p>
<p>Spending $100 on Adwords is going to generate some number of users. Spending another $100 is probably going to generate a similar number of users, and so on.</p>
<p><strong>There's no "magic" here</strong>. This is "buying growth" in the most direct manner.</p>
<p>If anything, customer acquisition through paid channels that you do not control (and Adwords is the epitome of this) tends to get <em>less</em> efficient over time as you saturate keywords etc.</p>
<p>Like a bricklayer at the end of a long day, businesses reliant on this form of growth tend to run out of gas sooner or later.</p>
<p>Sure, you can attempt to stack bricks at a faster and faster rate, raising venture capital when you can no longer self-fund the endeavour, building the wall ever higher...</p>
<p><em>But this too will pass</em>. Eventually, some proportion of those users <em>must</em> stick around and continue to buy from you without meaningful additional spend on your part, otherwise you'll find yourself on the proverbial <strong>"acquisition treadmill"</strong>, unable to jump off without significant disruption to the business.</p>
<p>A number of companies in the subscription e-commerce "send me a box with a psuedo-random assortment of goods" space fall squarely into this category. Users churn at high rates, requiring more and more fuel to be poured on the paid acquisition fire to keep the train going.</p>
<p>On the other hand, <strong>businesses that "multiply" can grow indefinitely</strong>. Their "growth functions" are inherently multiplicative. Users beget more users. Revenue begets more revenue.</p>
<p>The classic exponential, multiplicative growth function is the <strong>viral word-of-mouth (WOM)</strong> or <strong>referral program</strong>.</p>
<p>PayPal built a viral engine in its early days, giving users money for each additional friend they referred to the service:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/paypal-viral.png" alt=""></p>
<p>Dropbox replicated this, giving out additional space for signing up friends:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/06/dropbox-viral.png" alt=""></p>
<p>The act of sharing a Dropbox file or folder with someone who wasn't yet a user generated even more sign-ups:</p>
<p><img src="https://whoisnnamdi.com/content/images/2018/09/dropboxshare.png" alt=""></p>
<p>Whatever the approach, it is <em>vitally</em> important that every business vigorously search for and identify exponential growth opportunities. It is mathematically inevitable that an additive, linear growth engine that does not compound on itself will eventually peter out, or even collapse like a wall built too high.</p>
<p>Likewise, investors must diligently sift through the noise to find the few bacteria-in-a-hay-stack that will drive true, long-term value creation. Ignore the steep trajectory in the short-run. Instead, focus on the <strong>curvature of the horizon</strong>.</p>
<p><strong>Scale invariant growth</strong> is the key to building a large, meaningful business.</p>
<p>Go find it.</p><style>
mjx-container[jax="SVG"] {
  direction: ltr;
}

mjx-container[jax="SVG"] > svg {
  overflow: visible;
  min-height: 1px;
  min-width: 1px;
}

mjx-container[jax="SVG"] > svg a {
  fill: blue;
  stroke: blue;
}

mjx-container[jax="SVG"][display="true"] {
  display: block;
  text-align: center;
  margin: 1em 0;
}

mjx-container[jax="SVG"][display="true"][width="full"] {
  display: flex;
}

mjx-container[jax="SVG"][justify="left"] {
  text-align: left;
}

mjx-container[jax="SVG"][justify="right"] {
  text-align: right;
}

g[data-mml-node="merror"] > g {
  fill: red;
  stroke: red;
}

g[data-mml-node="merror"] > rect[data-background] {
  fill: yellow;
  stroke: none;
}

g[data-mml-node="mtable"] > line[data-line], svg[data-table] > g > line[data-line] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > rect[data-frame], svg[data-table] > g > rect[data-frame] {
  stroke-width: 70px;
  fill: none;
}

g[data-mml-node="mtable"] > .mjx-dashed, svg[data-table] > g > .mjx-dashed {
  stroke-dasharray: 140;
}

g[data-mml-node="mtable"] > .mjx-dotted, svg[data-table] > g > .mjx-dotted {
  stroke-linecap: round;
  stroke-dasharray: 0,140;
}

g[data-mml-node="mtable"] > g > svg {
  overflow: visible;
}

[jax="SVG"] mjx-tool {
  display: inline-block;
  position: relative;
  width: 0;
  height: 0;
}

[jax="SVG"] mjx-tool > mjx-tip {
  position: absolute;
  top: 0;
  left: 0;
}

mjx-tool > mjx-tip {
  display: inline-block;
  padding: .2em;
  border: 1px solid #888;
  font-size: 70%;
  background-color: #F8F8F8;
  color: black;
  box-shadow: 2px 2px 5px #AAAAAA;
}

g[data-mml-node="maction"][data-toggle] {
  cursor: pointer;
}

mjx-status {
  display: block;
  position: fixed;
  left: 1em;
  bottom: 1em;
  min-width: 25%;
  padding: .2em .4em;
  border: 1px solid #888;
  font-size: 90%;
  background-color: #F8F8F8;
  color: black;
}

foreignObject[data-mjx-xml] {
  font-family: initial;
  line-height: normal;
  overflow: visible;
}

mjx-container[jax="SVG"] path[data-c], mjx-container[jax="SVG"] use[data-c] {
  stroke-width: 3;
}
</style> ]]>
                        </content:encoded>
                    </item>
                    
        </channel>
    </rss>
