I have this data set and I want to filter only "Event" with a good conversion rate.

We can say that good are those that have a higher than average conversion (but maybe you have better ideas).

Since the average conversion is 0.8% I will also select those events with too little data (eg Impressions = 1 or impressions = 10).

What formula can I use to quickly exclude events with too little data and set a minimum threshold for impressions? I can't use an hard-coded threshold because it has to be different for each account. Impressions/clicks are not normally distributed. Maybe long-tail distribution makes more sense.

enter image description here


Without knowing more about your objective, it is difficult to suggest a suitable criterion that could be used for all accounts. But here are some ideas. [Computations in R.]

In your example, 'impressions' are

x = c(1563, 400, 100, 1400, 1, 10)

Sorted data are

[1]    1   10  100  400 1400 1563

So you might throw out a row in your table if: (a) the impression count is to low to matter, perhaps below 20; (b) the impression count is among a client's lowest 25% of impressions, which is below about 30 in your example; (c) if the number of impressions is a low outlier, which in your example, disregards nothing. (I'm using the "boxplot 1.5 IQR rule" for outliers.) This would work better with more data, say at least a dozen rows.)

quantile(x, .25)

boxplot(x, horizontal=T)

enter image description here

Then, having disregarded rows with too few impressions, you might use another criterion to pick "relatively good" conversion rates for each client.

In your example, suppose now that rows F, G, and H are gone on account of low impression counts.

That might be anything: (a) at or above the median (1.3); (b) at or above the 75th quantile (10); (c) more than one SD above the mean (18). [Even if you had enough data to show outliers, I think requiring a high outlier in order to be called "reasonably good" is too harsh a test.]

y = c(1.3, 10, 24, .4, .5)
median(y);  quantile(y, .75)
[1] 1.3
mean(y) + sd(y)
[1] 17.43819
[1] 7.24

[Notice that with rows F, G, and H gone, the average conversion rate is now down to 7.24.]

Even if you don't like my specific suggestions, based on quick orientation and only one dataset, maybe you will find something useful in the general approach.

  • $\begingroup$ Thank you for your answer. What can help me decide to choose between: a) above the median c) Mean + 1 SD ? $\endgroup$ – user1028100 Sep 3 at 13:54
  • $\begingroup$ Don't know for sure. You know the data better than I do from one example. // It's a matter of getting the feel of which criterion comes closest to giving the results you want. Try both methods on data for several clients of varying types. Then pick a method, and possibly modify it. Examples of modifications might be to use 60th percentile instead of median or $\bar X + .5 S$ instead of $\bar X + S.$ Maybe different criteria for distinctly different kinds of clients. Maybe fine-tune over time. $\endgroup$ – BruceET Sep 3 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.