← Latest papers
🤖 machine learning

Variance Reduction for Heavy-Tailed Monetization Metrics in Ranking Experiments via Post-Stratification

This paper presents a practical framework combining post-stratification and CUPED to reduce variance in heavy-tailed monetization metrics for ranking experiments, enabling ShareChat to achieve equivalent statistical confidence with approximately 45% less traffic while improving decision stability.

Original authors: Neeti Pokharna, Olivier Jeunen, Yatharth Saraf, Aleksei Ustimenko

Published 2026-06-04
📖 5 min read🧠 Deep dive

Original authors: Neeti Pokharna, Olivier Jeunen, Yatharth Saraf, Aleksei Ustimenko

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

The Problem: The "Whale" Problem in A/B Testing

Imagine you are running a test to see if a new feature in a video app makes people spend more money. You split your users into two groups: Group A sees the old version, and Group B sees the new version.

Usually, you just add up all the money spent by everyone in Group A and compare it to Group B. But in apps like ShareChat (where users buy virtual gifts for creators), the spending habits are wildly uneven.

Think of it like a fishing trip:

  • 99.9% of the fish you catch are tiny minnows that weigh almost nothing.
  • 0.01% of the fish are massive "whales" (super-rich users) that weigh as much as a car.

In a standard test, if one of these "whales" happens to land in Group A by pure luck, Group A looks like a huge success. If that same whale lands in Group B, Group B looks like a failure. Because these whales are so heavy, they dominate the math. They create so much "noise" (randomness) that you can't tell if the new feature actually works or if you just got lucky with where the whales landed.

This means you have to run the test for a very long time or get a massive amount of traffic just to get a reliable answer. Often, you can't get enough traffic, so you can't make decisions.

The Solution: Sorting the Fish Tank

The authors propose a clever way to fix this called Post-Stratification, combined with a technique called CUPED.

Here is how it works, step-by-step:

1. Sorting the Fish (Stratification)

Instead of looking at the whole tank of fish as one big group, you sort them into separate buckets before you start the test based on how they behaved in the past.

  • Bucket 1: The "Whales" (the top 0.01% of spenders).
  • Bucket 2: The "Regulars" (everyone else).

2. Weighing the Buckets

Here is the magic trick. When you calculate the final result, you don't just add up the buckets equally. You give the buckets different weights based on how many people are actually in the real world.

  • Since "Whales" are rare, their bucket gets a tiny weight (like 0.0001).
  • Since "Regulars" are common, their bucket gets a huge weight.

The Analogy: Imagine you are judging a cooking contest. If one judge is a billionaire who gives a score of 1,000,000, and 999 other judges give scores of 5, the billionaire's score ruins the average.

  • Old Way: You take the average of all scores. The billionaire's score dominates.
  • New Way: You say, "The billionaire is one person, so their score only counts as 0.001 of the total. The 999 regular judges count for 99.9%." Now, the billionaire's wild score doesn't swing the result wildly.

3. Smoothing the Data (CUPED)

Inside each bucket, they also use a trick called CUPED. This is like using a user's past spending as a "baseline."

  • If a user usually spends \100, and in the test they spend \110, CUPED says, "Okay, that's just their normal high spending, not necessarily because of the new feature."
  • It subtracts out the predictable parts of the spending, leaving only the real changes caused by the experiment.

The Results: Faster Decisions with Less Traffic

By using this method, the authors achieved some impressive results at ShareChat:

  • Less Noise: They reduced the "noise" (variance) in their data by 99%.
  • Faster Tests: They can now get the same level of confidence with 45% less traffic.
    • Analogy: It's like being able to hear a whisper clearly in a noisy room without needing to shout. You don't need a bigger crowd to hear the truth; you just need a better way to listen.
  • Reliability: They tested this on over 40 real-world experiments. The method helped them spot small, real improvements that would have been invisible before.

Important Rules and Warnings

The paper also points out when NOT to use this method:

  1. Don't use it if you are testing a feature specifically for Whales.
    • Analogy: If you are testing a new "VIP Lounge" specifically for the rich whales, you don't want to down-weight their importance. If you do, you might miss the fact that the VIP Lounge is amazing for them. This method is for general improvements that help the whole user base.
  2. Don't use it if the "Whales" are the only ones changing.
    • If the new feature only affects the top 0.01% of users, this method will hide that effect because it treats the whales as a tiny, low-weight group.

Summary

The paper presents a practical tool for companies running A/B tests on money-related metrics. By sorting users into groups and down-weighting the rare, super-spending outliers, they can stop the "whales" from hijacking the results. This allows them to make faster, more confident decisions about their product without needing millions more users.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →