{
  "id": 10930,
  "title": "While the competition is on hold... A/B testing question",
  "url": "/competitions/avazu-ctr-prediction/discussion/10930",
  "author_name": "",
  "post_date": "2014-11-15T01:32:32.907Z",
  "votes": null,
  "comment_count": 4,
  "views": 2400,
  "content": "<p>...I thought I'd take advantage of those of you who work in web analytics and ask a question to those of you who might be involved in the A/B testing side of web analytics. :-)</p>\n<p>I started&nbsp;reading about A/B testing in web analytics and the concept of stopping&nbsp;a test when significance is achieved came up. Due to my background in stats, I was puzzled with the whole idea of stopping an experiment when significance is observed, because my inclination would be to fix the sample size beforehand and just wait for the experiment to conclude. I also came across <a href=\"http://www.evanmiller.org/how-not-to-run-an-ab-test.html\">this blog</a>, which re-enforced my skepticism towards early stopping.&nbsp;</p>\n<p>So, how do practitioners deals with this topic, and what are best practices to decide when/how often to peak to the data? Is it a function of time (i.e. every x hours), of the number of observations (i.e. every 1000 new observations). or something different?</p>",
  "messages": [
    {
      "id": "58097",
      "postDate": "11/15/2014 01:32:32",
      "content": "<p>...I thought I'd take advantage of those of you who work in web analytics and ask a question to those of you who might be involved in the A/B testing side of web analytics. :-)</p>\n<p>I started&nbsp;reading about A/B testing in web analytics and the concept of stopping&nbsp;a test when significance is achieved came up. Due to my background in stats, I was puzzled with the whole idea of stopping an experiment when significance is observed, because my inclination would be to fix the sample size beforehand and just wait for the experiment to conclude. I also came across <a href=\"http://www.evanmiller.org/how-not-to-run-an-ab-test.html\">this blog</a>, which re-enforced my skepticism towards early stopping.&nbsp;</p>\n<p>So, how do practitioners deals with this topic, and what are best practices to decide when/how often to peak to the data? Is it a function of time (i.e. every x hours), of the number of observations (i.e. every 1000 new observations). or something different?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "58100",
      "postDate": "11/15/2014 03:52:19",
      "content": "<p>I did online-advertising full time for a couple of years. I would set up a lots and lots of small tests, and kill the ones that were obvious statistical losers (X&nbsp;impressions, no clicks). Then I'd run them again, and repeat the analysis&nbsp;on the aggregated stats (XX&nbsp;impressions, &lt; 10 clicks, or whatever). Only the strongest survived.</p>\n<p>Did some some get prematurely culled? Of course. But you learn the hard way that it's far more cost effective to brutally cull the losers.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "58101",
      "postDate": "11/15/2014 05:13:26",
      "content": "<p>I worked at a major online site that runs&nbsp;many A/B tests. We shut off experiments that were clearly losing hand-over-fist&nbsp;in multiple metrics*, but otherwise we ran experiments&nbsp;for a&nbsp;period of time calculated in advance (4 weeks was common).** Stopping a test early just because significance seems to have been achieved is, generally speaking, <a href=\"http://data.heapanalytics.com/dont-stop-your-ab-tests-part-way-through/\">statistically invalid</a>. Often an&nbsp;experiment seemed to start out strong (random chance, imagine flipping heads many times at the beginning of a fair coin sequence) but then as more data was&nbsp;obtained, lost statistical significance.<br><br>Note that if you run lots of A/B tests, significance will be problematic. If you run 20&nbsp;independent A/B experiments at p=0.05 with one metric each, on average one experimental result will be a type-I error and potentially lead to the wrong business conclusion. It helps to have multiple confirmation of principles among many different experiments (Marcello Truzzi: &quot;Extraordinary claims require extraordinary proof&quot;) and it's also worth educating yourself about the <a href=\"http://en.wikipedia.org/wiki/Multiple_comparisons_problem\">family-wise error rate</a>&nbsp;and logical fallacies such as the <a href=\"http://en.wikipedia.org/wiki/Appeal_to_novelty\">appeal to novelty</a>. There are many A/B testing best-practices, such as running continuous A/A tests. <a href=\"http://www.exp-platform.com/\">Microsoft</a>&nbsp;and <a href=\"http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/36500.pdf\">Google</a>&nbsp;have published some useful&nbsp;practical&nbsp;information about their A/B approaches.<br><br>I'm not sure what you mean by &quot;peak the data,&quot; but if you mean to throttle experiment data beyond an arbitrary peak (such as the examples you gave), I would recommend against that. Throttling creates&nbsp;sampling errors and many other bad statistical effects.</p>\n<p><br>(* by doing this, we would miss any tests that got an &quot;unlucky&quot; start and would have eventually dug out of that deficit and become positive. You're trading experimental recall for reduced risk of losses.)<br>(**&nbsp; We used whole weeks to average out day-of-week and time-of-day effects. But this doesn't catch longer seasonality patterns. An A/B test that performs well in summer might perform poorly in winter or vice-versa.)</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "58142",
      "postDate": "11/16/2014 17:02:26",
      "content": "<p>Until recently I worked for a high volume online travel agent with a lot of A/B testing. &nbsp;Tests would sometimes&nbsp;be stopped early, when significance was established - but only when significance was well ahead of the target and high volumes of traffic had already gone through them, so we could be very confident they would have remained significant. &nbsp;It's a pragmatic trade-off between the cost/lost opportunity of running tests longer than needed, vs chance of drawing wrong conclusions.&nbsp;</p>\n<p>In addition to the very valid points above, you also have to think about the sort of traffic the test will have seen so far and whether there is reason to think it may be atypical. &nbsp;For example, if your website generates a lot of visits from a once-weekly email (where customers will generally be more qualified), and that email has not yet been sent, then it would arguably be foolish to stop a test before receiving this traffic no matter how significant it may currently be.</p>\n<p>In some sectors there may also be a case to run longer to ensure you are capturing return visits. &nbsp;If your customers generally require several &quot;research&quot; visits to your website before converting, then early results may represent the conversions from customers who started this process before the trial began and not be truly indicative of likely ongoing behaviour.</p>\n<p>Another point is that&nbsp;the longer you run a test the more you may be able to drill down to segments of interest. &nbsp;OK you might get topline significance before the test completes, but running for longer may allow deeper insights, eg allowing you to drill down&nbsp;results on different browsers/platforms, regionally etc.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "58215",
      "postDate": "11/17/2014 17:56:51",
      "content": "<p>Thanks guys! This was really helpful!</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 58100,
      "author_name": "inversion",
      "author_url": "",
      "post_date": "11/15/2014 03:52:19",
      "content": "<p>I did online-advertising full time for a couple of years. I would set up a lots and lots of small tests, and kill the ones that were obvious statistical losers (X&nbsp;impressions, no clicks). Then I'd run them again, and repeat the analysis&nbsp;on the aggregated stats (XX&nbsp;impressions, &lt; 10 clicks, or whatever). Only the strongest survived.</p>\n<p>Did some some get prematurely culled? Of course. But you learn the hard way that it's far more cost effective to brutally cull the losers.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 58101,
      "author_name": "brundage",
      "author_url": "",
      "post_date": "11/15/2014 05:13:26",
      "content": "<p>I worked at a major online site that runs&nbsp;many A/B tests. We shut off experiments that were clearly losing hand-over-fist&nbsp;in multiple metrics*, but otherwise we ran experiments&nbsp;for a&nbsp;period of time calculated in advance (4 weeks was common).** Stopping a test early just because significance seems to have been achieved is, generally speaking, <a href=\"http://data.heapanalytics.com/dont-stop-your-ab-tests-part-way-through/\">statistically invalid</a>. Often an&nbsp;experiment seemed to start out strong (random chance, imagine flipping heads many times at the beginning of a fair coin sequence) but then as more data was&nbsp;obtained, lost statistical significance.<br><br>Note that if you run lots of A/B tests, significance will be problematic. If you run 20&nbsp;independent A/B experiments at p=0.05 with one metric each, on average one experimental result will be a type-I error and potentially lead to the wrong business conclusion. It helps to have multiple confirmation of principles among many different experiments (Marcello Truzzi: &quot;Extraordinary claims require extraordinary proof&quot;) and it's also worth educating yourself about the <a href=\"http://en.wikipedia.org/wiki/Multiple_comparisons_problem\">family-wise error rate</a>&nbsp;and logical fallacies such as the <a href=\"http://en.wikipedia.org/wiki/Appeal_to_novelty\">appeal to novelty</a>. There are many A/B testing best-practices, such as running continuous A/A tests. <a href=\"http://www.exp-platform.com/\">Microsoft</a>&nbsp;and <a href=\"http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/36500.pdf\">Google</a>&nbsp;have published some useful&nbsp;practical&nbsp;information about their A/B approaches.<br><br>I'm not sure what you mean by &quot;peak the data,&quot; but if you mean to throttle experiment data beyond an arbitrary peak (such as the examples you gave), I would recommend against that. Throttling creates&nbsp;sampling errors and many other bad statistical effects.</p>\n<p><br>(* by doing this, we would miss any tests that got an &quot;unlucky&quot; start and would have eventually dug out of that deficit and become positive. You're trading experimental recall for reduced risk of losses.)<br>(**&nbsp; We used whole weeks to average out day-of-week and time-of-day effects. But this doesn't catch longer seasonality patterns. An A/B test that performs well in summer might perform poorly in winter or vice-versa.)</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 58142,
      "author_name": "martinji",
      "author_url": "",
      "post_date": "11/16/2014 17:02:26",
      "content": "<p>Until recently I worked for a high volume online travel agent with a lot of A/B testing. &nbsp;Tests would sometimes&nbsp;be stopped early, when significance was established - but only when significance was well ahead of the target and high volumes of traffic had already gone through them, so we could be very confident they would have remained significant. &nbsp;It's a pragmatic trade-off between the cost/lost opportunity of running tests longer than needed, vs chance of drawing wrong conclusions.&nbsp;</p>\n<p>In addition to the very valid points above, you also have to think about the sort of traffic the test will have seen so far and whether there is reason to think it may be atypical. &nbsp;For example, if your website generates a lot of visits from a once-weekly email (where customers will generally be more qualified), and that email has not yet been sent, then it would arguably be foolish to stop a test before receiving this traffic no matter how significant it may currently be.</p>\n<p>In some sectors there may also be a case to run longer to ensure you are capturing return visits. &nbsp;If your customers generally require several &quot;research&quot; visits to your website before converting, then early results may represent the conversions from customers who started this process before the trial began and not be truly indicative of likely ongoing behaviour.</p>\n<p>Another point is that&nbsp;the longer you run a test the more you may be able to drill down to segments of interest. &nbsp;OK you might get topline significance before the test completes, but running for longer may allow deeper insights, eg allowing you to drill down&nbsp;results on different browsers/platforms, regionally etc.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 58215,
      "author_name": "adjgiulio",
      "author_url": "",
      "post_date": "11/17/2014 17:56:51",
      "content": "<p>Thanks guys! This was really helpful!</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "58097": "",
    "58100": "",
    "58101": "",
    "58142": "",
    "58215": ""
  },
  "source": "meta"
}