growthbook / growthbook

Open Source Feature Flagging and A/B Testing Platform

Home Page:https://www.growthbook.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature] Outlier clients filteration

dbalabka opened this issue · comments

Description of Feature

Usually, during experiments, we can face customers who perform enormous amounts of transactions. Such outliers lead to bias and can change experiment results. To fix this issue, we have filtered out such clients based on the total amount of transactions during the experiment. Currently, Growthbook supports capping for revenue and count. Unfortunately, it does not work for binomial metrics.

I tried to use count metric with capping with pretty simple binomial metric SQL adjustments:

SELECT
  e.value.string_value as ecentria_id,
  user_pseudo_id,
  TIMESTAMP_MICROS(event_timestamp) as timestamp,
  1 as value  -- <--------- this line was added
FROM
....

However, capping does not work as expected. It filters out rows that have a value higher than the specific threshold. While I'm looking into filtering out all rows that have a relation to the client that contributes an enormous amount of transactions.

Having a feature that helps filter out clients based on a threshold (absolute or percentile) by aggregated values over all time of the experiment, can help to increase test sensitivity by decreasing variation.

We definitely can workaround it with custom SQL, but unfortunately, it requires hardcoded logic in each metric.

Related Issues

TBD