<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Numerator]]></title><description><![CDATA[Field notes on product data science: A/B testing, measurement, and the AI features that landed without a playbook.]]></description><link>https://thenumerator.blog</link><image><url>https://substackcdn.com/image/fetch/$s_!pR3j!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d258d48-b014-4c48-9f09-06f6ec23bb2c_320x320.png</url><title>The Numerator</title><link>https://thenumerator.blog</link></image><generator>Substack</generator><lastBuildDate>Tue, 09 Jun 2026 21:51:19 GMT</lastBuildDate><atom:link href="https://thenumerator.blog/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Harel Rechavia]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[thenumerator@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[thenumerator@substack.com]]></itunes:email><itunes:name><![CDATA[Harel Rechavia]]></itunes:name></itunes:owner><itunes:author><![CDATA[Harel Rechavia]]></itunes:author><googleplay:owner><![CDATA[thenumerator@substack.com]]></googleplay:owner><googleplay:email><![CDATA[thenumerator@substack.com]]></googleplay:email><googleplay:author><![CDATA[Harel Rechavia]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Attribution choice is incentive design]]></title><description><![CDATA[The Numerator | Issue #2 | May 19, 2026]]></description><link>https://thenumerator.blog/p/attribution-choice-is-incentive-design</link><guid isPermaLink="false">https://thenumerator.blog/p/attribution-choice-is-incentive-design</guid><dc:creator><![CDATA[Harel Rechavia]]></dc:creator><pubDate>Tue, 19 May 2026 16:49:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-goj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The first time the org rolled up the three recommendations teams as a cluster, the number was flat. Not declining, not growing. Just flat across the quarter. Each team&#8217;s own dashboard told a different story: green here, red there, green again, all of it inside the band that looks like normal quarter-to-quarter noise. No team was obviously broken. The aggregate said something was. That was the gap that started the conversation.</p><div><hr></div><p><em>The Numerator is practitioner notes on product data science at consumer scale. Written by <a href="https://www.linkedin.com/in/harelrechavia/">Harel Rechavia</a>, formerly Google Waze, Amazon Alexa Shopping, and Viber. <a href="https://thenumerator.blog/subscribe">Subscribe </a>for one or two posts a month.</em></p><div><hr></div><h2>The setup</h2><p>A large ecommerce platform had three recommendations surfaces, each owned by a different team. Replenishment notifications pushed a message when the platform predicted a user was running low (&#8221;Heads up, you&#8217;re probably running low on coffee pods&#8221;). Search recommendations surfaced products when a user typed a query. High personalization recommendations was the always-on, model driven surface that picked products based on a behavioral profile.</p><p>One user, one coffee pods purchase, three teams that could plausibly claim credit. So the platform picked an attribution model. Three options were on the table: First-Touch (credit to whichever surface introduced the product to the user first inside a 30-day window), Even-Split (credit divided across every surface the user saw inside the window), and Last-Touch (credit to whichever surface the user came closest to the moment of purchase). The org picked First-Touch. The reasoning sounded right: reward the team that introduced the product. I was on one of the three teams when this rolled out and saw firsthand how our decisions started changing.</p><div><hr></div><h2>What the teams actually optimized for</h2><p>The behavior change was rational. If credit went to whoever was first, the dominant move was not &#8220;recommend coffee pods when they are most relevant.&#8221; It was &#8220;recommend coffee pods now, before the other two surfaces do.&#8221; Anything a user might plausibly buy in the next 30 days became fair game to push in front of them today.</p><p>The catch is that most of those purchases would have happened anyway. The user was going to buy coffee pods because they were running low, not because three different surfaces had impressed them with the idea. The platform was crediting baseline behavior the user would have done anyway, not incremental purchases the team had caused. This is the same mechanic <a href="https://humansofmartech.com/2025/01/21/153-sundar-swaminathan-how-uber-measures-the-roi-of-marketing/">Uber&#8217;s growth team eventually surfaced</a> when an incrementality test against a no-paid-ads control group led them to cut roughly $30M in annual U.S. Meta spend. Their paid ads were mostly reaching people who would have signed up anyway. Standard attribution had been crediting them for it.</p><p>Because the underlying purchases were largely fixed, the attribution credit was not being created. It was being shuffled. When Replenishment feature won the race to be first on a cohort of coffee-pods buyers, their metric went up and one of the other two surfaces dropped. Next quarter, the trade ran the other way. A senior Airbnb growth-marketing lead <a href="https://www.singular.net/blog/experts-from-airbnb-stitch-fix-and-bark-box-on-multi-touch-attribution-incrementality/">described the same pattern publicly</a> as teams using attribution &#8220;to re-slice the pie&#8221; instead of growing the pie. From any one team&#8217;s seat, the metric was volatile but the direction was unclear. No one was lying. No one was sandbagging. Everyone was rationally chasing the credit the model handed out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-goj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-goj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-goj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-goj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-goj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-goj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:768461,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thenumerator.blog/i/198378345?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-goj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-goj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-goj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-goj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32acc529-5103-4daf-b607-927ccee78e90_1376x768.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>The slow realization</h2><p>No single postmortem caught it. Each team&#8217;s DS saw their own metric move, sometimes up, sometimes down, mostly inside the band that quarter-to-quarter noise normally lives in. From inside one team, there was nothing to see. The behavior was only visible if you stood far enough back, and nobody was standing that far back.</p><p>The catalyst was structural, not analytical. The org started measuring the recommendations cluster as a group, on top of measuring each team. At the group level, growth was slow. The aggregate told a different story than any individual page told. That gap was the first thing that made anyone ask why three teams that each looked roughly fine were collectively not moving the number that mattered.</p><div><hr></div><h2>The thesis</h2><p>Attribution choice is incentive design. Picking a model is not a measurement decision. It is a behavioral one. It will tell you how your teams are going to race.</p><p>Three teams plus First-Touch is a race to be first on purchases the user would have made anyway. Three teams plus Even-Split is either cooperation or quiet collusion on volume. Three teams plus Last-Touch is a race to intercept buyers at the bottom of the funnel. There is no neutral option in this set. Every model selects for a behavior. The right question before picking one is not &#8220;which model is most accurate.&#8221; It is &#8220;which behavior do we want from the teams.&#8221;</p><p>Mature measurement systems sidestep some of this by calibrating attribution against incrementality experiments. Most orgs picking their first attribution model are not running both, and the behavior consequence shows up first. When a metric becomes the target teams are graded on, the teams will optimize for the metric.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thenumerator.blog/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thenumerator.blog/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>What to do Monday</h2><p>When you are asked to design attribution for a multi team product, treat it as a behavior design problem, not a measurement problem. Bring the team leads in before the model is picked, not after. Ask &#8220;what behavior do we want from these teams&#8221; before &#8220;what attribution model fits the data.&#8221; If the org cannot answer the first question, the model will answer it for them. And the answer will look like normal noise on every individual dashboard for a long time before it shows up at the aggregate.</p><div><hr></div><h2>Further Reading</h2><ul><li><p><a href="https://en.wikipedia.org/wiki/Goodhart%27s_law">Goodhart&#8217;s Law</a> (Wikipedia, also covers Campbell&#8217;s Law)</p></li><li><p><a href="https://arxiv.org/abs/1902.00215">Interpretable Deep Learning Model for Online Multi-touch Attribution (JD.com, with Shapley credit allocation)</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Two ways to measure long-term value and the assumption they share]]></title><description><![CDATA[The Numerator | Issue #1 | May 7, 2026]]></description><link>https://thenumerator.blog/p/two-ways-to-measure-long-term-value</link><guid isPermaLink="false">https://thenumerator.blog/p/two-ways-to-measure-long-term-value</guid><dc:creator><![CDATA[Harel Rechavia]]></dc:creator><pubDate>Thu, 07 May 2026 12:54:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Husk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Husk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Husk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Husk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Husk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Husk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Husk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:879244,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://thenumerator.substack.com/i/196760398?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Husk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Husk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Husk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Husk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39b80a5b-4f74-4929-81a4-5fa523976ec3_1376x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>You have probably had this conversation, from one side or the other. A feature shipped, the short-term metric is flat or down, and someone in the room says &#8220;future value will catch what the experiment cannot.&#8221; The model gets pulled up. Sometimes it agrees with the team and the feature ships. Sometimes it disagrees and the feature does not. Either way, nobody in that room asks a question that should be the first one: how often does this model actually agree with the long-term truth when we wait long enough to check?</p><p>Netflix asked it on themselves. Across <a href="https://arxiv.org/abs/2311.11922">200 A/B tests and 1,098 test arms</a>, they checked their 14-day surrogate index against the day-63 ground truth. The headline number, the one most posts about this paper quote, is 95% directional consistency. The number that should follow it, and almost never does, is 65% recall against the day-63 ship decision. That is not the model failing on edge cases. That is the model deciding the next quarter of your roadmap.</p><p>This post is the practitioner version of long-term value measurement, focused on the two methods you will see most in published industrial work: PSM-style action scoring (Airbnb FIV) and the surrogate index (Netflix, Booking.com). Other families exist, including one built on heterogeneous treatment effects with policy trees, but the two we focus on are the ones that show up in the most launch reviews and the ones whose tradeoffs are best documented in public.</p><p>I have watched some version of this play out at Google Waze and Amazon Alexa Shopping. Different names, different math, same shape. Sometimes it held us back from rolling out a feature the team had spent months on. Sometimes it gave us the language to measure a win and defend it to leadership when the short-term metrics could not. Either way, you pay twice. Once in model maintenance, and once in the stakeholder time it takes to explain what the model did and did not say. Here is what the published implementations look like and where they break.</p><div><hr></div><p><em>The Numerator is practitioner notes on product data science at consumer scale. Written by <a href="https://www.linkedin.com/in/harelrechavia/">Harel Rechavia</a>, formerly Google Waze, Amazon Alexa Shopping, and Viber. <a href="https://thenumerator.blog/subscribe">Subscribe </a>for one or two posts a month.</em></p><div><hr></div><h2>Airbnb FIV: scoring actions from the past</h2><p>Some product actions create most of their value over a horizon experiments cannot reach. Account recovery setup is the canonical example. The 14-day metric is the percentage of accounts that completed the recovery setup flow. The actual value is the percentage of takeover incidents resolved in five minutes instead of churning. Six months downstream. Invisible inside the test window.</p><p>The same shape repeats:</p><ul><li><p>First-time wow moments. First booking, first ride, first family-plan invite. The action&#8217;s value lives in retention curves that bend months later.</p></li><li><p>Latency and crash fixes. A single bad session raises churn risk that does not appear in the same session&#8217;s metrics.</p></li><li><p>Trust and safety actions. Two-factor enrollment, blocking, reporting. Rare events with enormous per-event value and volume too low to move aggregates.</p></li><li><p>Onboarding milestones. Profile completion, payment method added, social graph seeding. Each one is friction in the moment.</p></li></ul><p>If your org has no way to count downstream value, the org systematically does not ship these features. The portfolio bends toward features whose value is visible inside a 14-day window. That is a poor proxy for what users actually care about.</p><p><a href="https://medium.com/airbnb-engineering/how-airbnb-measures-future-value-to-standardize-tradeoffs-3aa99a941ba5">Airbnb&#8217;s Future Incremental Value (FIV)</a> is the most fully published implementation of the first family. For each of about 150 action events, Airbnb estimates the propensity that a given user takes the action, matches each user who took it to a &#8220;twin&#8221; who looks similar in propensity but did not take it, and reads the long-term outcome difference between the two groups as the action&#8217;s incremental value over a 1-year horizon. The propensity model uses around 1,000 control features pulled from their internal feature store.</p><p>Output is split into &#8220;Present&#8221; (immediate) and &#8220;Future&#8221; (residual downstream) value. PMs see what fraction of an action&#8217;s value is downstream rather than realized today. That UX choice does real work. It lets a team defending a slow-payoff feature point at the Future component instead of arguing in the abstract.</p><h3>The math</h3><p>Let&#8217;s walk through FIV first. For each user, estimate the probability they took the action of interest, given their pre-action covariates. This is the propensity score, learned across about 1,000 covariates from the feature store. Match each user who took the action to a &#8220;twin&#8221; with a similar propensity who did not. The action&#8217;s average effect on the treated is the difference in long-term outcomes between focal users and their matched complements.</p><p>The long-term outcomes here are observed, not predicted. The action happened in the past, you waited the full horizon, you read the actual metric. This is why FIV needs historical data and cannot score brand-new product surfaces.</p><p>Identification rests on three assumptions. Unconfoundedness: there are no unobserved confounders once you condition on the covariates. Common support: every region of the propensity is represented in both the focal and the complement populations. SUTVA: no spillovers between users. SUTVA fails in two-sided marketplaces, which is why Airbnb adds an explicit cannibalization haircut.</p><p>The practical breakpoint is overlap. If your propensity model has high AUC, the treated and untreated populations are too separable, the matched twins are not really twins, and the estimator becomes unstable. You actually want a propensity model that struggles at the boundaries.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sIyD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sIyD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 424w, https://substackcdn.com/image/fetch/$s_!sIyD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 848w, https://substackcdn.com/image/fetch/$s_!sIyD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 1272w, https://substackcdn.com/image/fetch/$s_!sIyD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sIyD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png" width="890" height="690" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eab35977-68a2-4550-9287-9502dd683840_890x690.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:690,&quot;width&quot;:890,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185019,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thenumerator.substack.com/i/196760398?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sIyD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 424w, https://substackcdn.com/image/fetch/$s_!sIyD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 848w, https://substackcdn.com/image/fetch/$s_!sIyD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 1272w, https://substackcdn.com/image/fetch/$s_!sIyD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feab35977-68a2-4550-9287-9502dd683840_890x690.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The PSM recipe: ~1000 pre-action covariates feed a propensity score, which splits users into focal and complement, matches them by similar propensity, then reads the difference in observed long-term outcomes as the action&#8217;s incremental value.</em></p><div><hr></div><h2>The surrogate index: predicting an experiment&#8217;s long-term effect</h2><p>Long before Netflix put the recall problem on paper, <a href="https://medium.com/pinterest-engineering/how-holdout-groups-drive-sustainable-growth-35a4786c3801">Pinterest published a 1% holdout</a> on a badging feature. The short-term A/B test showed +7% DAU. The year-long holdout settled at +2.5% DAU. The short-term test overstated the win by roughly 2.8x. That is not a Pinterest fact. That is a category fact about novelty inflation in self-serve consumer products. Carry it as the working order-of-magnitude assumption for any short-term readout you cannot validate against a long-term holdout.</p><p>The surrogate index is what you use when you want a long-term answer but cannot wait a year. It replaces the slow primary outcome with a model-predicted index built from short-run signals. Netflix&#8217;s <a href="https://arxiv.org/abs/2311.11922">surrogate-index validation paper</a> walks through the method and validates it against 200 of their own A/B tests. They estimate, from historical data, a function that maps short-term proxies S and pre-treatment covariates X to a predicted long-term outcome. In a new experiment, they observe S during the test window, predict the long-term outcome per unit, and treat the difference between treatment and control on that prediction as their long-term effect estimate.</p><p>The identification assumption that does the heavy lifting is called surrogacy. It says S contains all the information about how treatment affects the long-term outcome. If treatment moves the long-term outcome through a channel that is not captured in S, the estimate is biased and you will not know it.</p><p>Netflix&#8217;s number on themselves: 95% directional agreement, 65% recall against the day-63 ship decision. The recall gap is where senior DS should focus. Directional agreement covers most of your routine launches. The recall gap is concentrated on the launches with the largest upside, where the cost of a false negative is highest.</p><p><a href="https://arxiv.org/abs/2309.07893">Booking.com&#8217;s KDD 2024 paper</a> generalizes the proxy choice as a portfolio optimization problem over a corpus of past experiments. Treat each prior experiment as labeled data: a vector of short-term effects and a long-term effect. Learn the linear combination of short-term metrics that best predicts long-term effect for new experiments. The unsubtle practical insight: the optimal proxy varies with experiment sample size. There is no single &#8220;best company-wide proxy.&#8221; The published shorthand papers over a real cost.</p><h3>The math</h3><p>In a historical sample, fit a model that predicts the long-term outcome from a vector of short-run surrogate metrics plus pre-treatment covariates. In a new experiment where only the short-run surrogates are observed, predict the long-term outcome per user, then take the difference between treatment and control on that prediction.</p><p>Identification rests on Prentice surrogacy: the long-term outcome is independent of treatment once you condition on the surrogates. If treatment moves the long-term outcome through a channel the surrogates do not capture, the estimate is biased and you will not know it. There is also a comparability assumption: the relationship between surrogates and outcome must be the same in the historical and experimental samples.</p><p>Booking.com&#8217;s portfolio framing replaces the per-experiment estimation with a learned linear combination of short-run metrics, optimized across a corpus of past experiments.</p><p>The practical breakpoint is the validation result that started this post. 65% recall against the day-63 ship decision, even with a careful production system at Netflix&#8217;s scale. That is the cost of the assumption.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4LfO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4LfO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 424w, https://substackcdn.com/image/fetch/$s_!4LfO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 848w, https://substackcdn.com/image/fetch/$s_!4LfO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 1272w, https://substackcdn.com/image/fetch/$s_!4LfO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4LfO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png" width="890" height="690" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:690,&quot;width&quot;:890,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168171,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thenumerator.substack.com/i/196760398?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4LfO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 424w, https://substackcdn.com/image/fetch/$s_!4LfO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 848w, https://substackcdn.com/image/fetch/$s_!4LfO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 1272w, https://substackcdn.com/image/fetch/$s_!4LfO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ba94a0e-6791-4a3f-8f0a-b55b4e553158_890x690.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The surrogate index recipe: a model trained on past experiments where both short-run signals and long-term outcomes were observed, applied to a new test to predict the long-term treatment effect from short-run signals alone.</em></p><div><hr></div><h2>How they differ</h2><p>The two methods sit in different places in your workflow, and the easiest way to keep them straight is to ask what counts as a row of training data.</p><p>For Airbnb FIV, a training row is a (user, took the action or not, observed long-term outcome) triple. The unit of analysis is the user-action pair. The output is a fixed table: each tracked action has an FIV score that says &#8220;this action is worth X on the north star metric over the long term.&#8221; A PM whose A/B test shows the feature drives 5% more recovery setups multiplies that 5% by the recovery-setup score to get a long-term value estimate. Real features usually move more than one action, so the same test might also show +2% on 2FA enrollment and -1% on profile completion. The feature&#8217;s total long-term value is the sum of (action lift &#215; FIV score) across every action it moved, without waiting a year for the long-term outcome to land.</p><p>For the surrogate index, a training row is a past experiment (or a user inside one) with both a short-term effect vector and a long-term effect. The unit of analysis is the experiment. The output is per-experiment: this specific test predicts +1.2% on the long-term metric. You use it after a test ends, before you have day-63 data.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y2FK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y2FK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 424w, https://substackcdn.com/image/fetch/$s_!Y2FK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 848w, https://substackcdn.com/image/fetch/$s_!Y2FK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 1272w, https://substackcdn.com/image/fetch/$s_!Y2FK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y2FK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png" width="1100" height="894" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:894,&quot;width&quot;:1100,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:152188,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://thenumerator.substack.com/i/196760398?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y2FK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 424w, https://substackcdn.com/image/fetch/$s_!Y2FK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 848w, https://substackcdn.com/image/fetch/$s_!Y2FK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 1272w, https://substackcdn.com/image/fetch/$s_!Y2FK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca7310a3-d95d-4840-9480-d7f971115f94_1100x894.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Horizons differ too. Airbnb publishes at 365 days. Netflix validates at 63 days. Most of that difference is business cycle, not method. Streaming engagement stabilizes inside two months because users return weekly. Travel is low-frequency and seasonal, so a 60-day window misses most of the signal. The smaller part is method economics: a surrogate index needs the long-term outcome to materialize on a cadence that lets you retrain, which biases the family toward shorter horizons even when the business case might want longer. PSM does not have this problem, which is part of why FIV-style work tends to publish at longer horizons than surrogate-index work. If Netflix&#8217;s NSM stabilized at 365 days they would still pick a shorter surrogate horizon for retraining sanity. If Airbnb&#8217;s NSM stabilized at 60 days they would happily run FIV at 60.</p><p>The two methods look different. The math is genuinely different. The FIV claim that does the heavy lifting is that nothing unobserved drives both the action and the outcome.</p><p>The honest version is not &#8220;our model agrees with truth 95% of the time.&#8221; It is &#8220;our model agrees with truth 95% of the time on the experiments and the time horizons where we could check, and we cannot test whether this generalizes.&#8221;</p><h2>Where these methods fall apart</h2><p><strong>It does not work for new features.</strong></p><p>The historical data the surrogate index needs to validate against does not exist for a brand new product surface. The honest answer when leadership asks for the future value of a feature you launched last month is &#8220;we cannot estimate it for another quarter.&#8221; Some leaders accept this. Others do not.</p><p><strong>Eligibility-gated features are hard.</strong></p><p>If only some users qualify, due to subscription tier, region, or device class, matching has to happen within eligibility strata. The number of models you maintain explodes and the matched cohorts get small fast.</p><p><strong>It needs population scale.</strong></p><p>PSM and surrogate models both need enough observations to estimate stable propensities and stable proxy-to-outcome relationships. Airbnb explicitly says their host-level FIV is underdeveloped because there are not enough hosts. If you are at a sub-million MAU consumer product or B2B SaaS, the method may be infeasible.</p><p><strong>Two-sided marketplaces have a double-counting problem.</strong></p><p>A guest action and a listing action can both legitimately claim credit for the same booking. Airbnb&#8217;s Platform FIV is their attempt to net this out. It is not solved.</p><p><strong>Maintenance is expensive, and the cost is mostly human rather than technical.</strong></p><p>The model needs ongoing feature engineering as new product surfaces ship, but that is the easy part. I have watched the DS who built one of these systems end up spending more of their time onboarding new contributors and walking stakeholders through how to use, and how not to misuse, the framework than on the model itself.</p><p><strong>The model can also become political.</strong></p><p>PMs who like a feature might trust the model when it agrees with them and challenge it when it does not. Teams whose features get killed by an FV verdict might request re-runs, alternative specifications, sensitivity analyses. This is healthy in moderation and corrosive at scale. Maintaining trust in the model is a real cost on top of maintaining the model itself.</p><p><strong>A simplified proxy is gameable in the Goodhart sense.</strong></p><p><a href="https://gibsonbiddle.medium.com/4-proxy-metrics-a82dd30ca810">Gibson Biddle&#8217;s hidden-800-number example</a> is the evergreen case study: a PM at a streaming company decides &#8220;contacts per 1000 streams&#8221; should go down, hides the customer support phone number, and the metric improves while the customer experience degrades. Once the proxy becomes the target, the proxy stops measuring what it was designed to measure.</p><div><hr></div><h2>The honest takeaway</h2><p>Long-term value measurement is a complement to clean experimentation, not a substitute for it. Short-term A/B tests are still the right tool for short-term questions, guardrail metrics still matter, pre-registered hypotheses still help. The future value layer sits on top and answers questions experiments cannot.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thenumerator.blog/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thenumerator.blog/subscribe?"><span>Subscribe now</span></a></p><p></p><p>The features it surfaces are real. Account recovery setups, latency improvements, fraud reporting flows, the unsexy infrastructure work whose value is invisible inside a 14-day window. These features ship in companies that have a long-term value layer and quietly do not ship in companies that do not. Over years, the gap compounds.</p><p>The cost is also real. A serious program needs population scale, ongoing data science investment, leadership trust, stakeholder patience, and a long-term holdout you keep funded. Most companies should not build the full platform first. The companies that should build one and do not are the ones leaving the most value on the table.</p><p>If your org is in that second category, the move is not to build the full machinery. The move is to start with one specific action where the case is obvious and the data is available. Build a small surrogate or PSM model for that one action. Validate it once against a long-term holdout. Show the result. If the model holds and the result lands, the second model is easier to fund. After about ten such actions, you have a program.</p><p>That is roughly how every company in this post got there. Nobody built the platform first. And nobody published a recall number that suggested their model was anywhere close to perfect. The 65% number is not a Netflix problem. It is a structural cost of operating under an assumption you cannot test. The mature move is to plan for it instead of hoping it does not apply to you.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://thenumerator.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share The Numerator&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://thenumerator.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share The Numerator</span></a></p><div><hr></div><h2>Further reading</h2><ul><li><p>Airbnb Engineering, <a href="https://medium.com/airbnb-engineering/how-airbnb-measures-future-value-to-standardize-tradeoffs-3aa99a941ba5">How Airbnb Measures Future Value to Standardize Tradeoffs</a></p></li><li><p>Zhang, Zhao, Dimakopoulou, Le, Kallus (2023), <a href="https://arxiv.org/abs/2311.11922">Evaluating the Surrogate Index as a Decision-Making Tool Using 200 A/B Tests at Netflix</a></p></li><li><p>Booking.com et al. KDD 2024, <a href="https://arxiv.org/abs/2309.07893">Choosing a Proxy Metric from Past Experiments</a></p></li><li><p>Pinterest Engineering, <a href="https://medium.com/pinterest-engineering/how-holdout-groups-drive-sustainable-growth-35a4786c3801">How Holdout Groups Drive Sustainable Growth</a></p></li><li><p>Athey, Chetty, Imbens, Kang (2019), <a href="https://www.nber.org/papers/w26463">The Surrogate Index NBER 26463</a></p></li><li><p>Gibson Biddle, <a href="https://gibsonbiddle.medium.com/4-proxy-metrics-a82dd30ca810">#4 Proxy Metrics</a></p></li></ul>]]></content:encoded></item></channel></rss>