<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
  <title>www.mynaweb.com/blog</title>
  <link href="http://www.mynaweb.com/blog"/>
  <link type="application/atom+xml" rel="self" href="http://mynaweb.com/blog/atom.xml"/>
  <updated>2012-05-08T12:29:38+01:00</updated>
  <id>http://www.mynaweb.com/blog</id>
  <author>
    <name>Myna</name>
    <email>hello@mynaweb.com</email>
  </author>

  
  <entry>
    <id>http://www.mynaweb.com/blog/blog/2012/02/06/new-api</id>
    <link type="text/html" rel="alternate" href="http://www.mynaweb.com/blog/blog/2012/02/06/new-api.html"/>
    <title>Myna's New API</title>
    <updated>2012-02-06T00:00:00+00:00</updated>
    <author>
      <name>Myna</name>
      <uri>http://www.mynaweb.com/</uri>
    </author>
    <content type="html">&lt;p&gt;&lt;a href='/docs/api.html'&gt;Myna&amp;#8217;s new API&lt;/a&gt; is out! A lot of discussion went into the new API, so it took a bit longer that we planned. We think it&amp;#8217;s worth the wait &amp;emdash; the new API is far richer and more usable than our original design. If you want to integrate Myna into your existing marketing systems, you&amp;#8217;ll definitely want to check it out. Also take a look at the clients under development on &lt;a href='https://github.com/myna/'&gt;our Github page&lt;/a&gt;, which will make integration easier.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <id>http://www.mynaweb.com/blog/blog/2011/11/03/new-api-proposal</id>
    <link type="text/html" rel="alternate" href="http://www.mynaweb.com/blog/blog/2011/11/03/new-api-proposal.html"/>
    <title>Proposed New API for Myna</title>
    <updated>2011-11-03T00:00:00+00:00</updated>
    <author>
      <name>Myna</name>
      <uri>http://www.mynaweb.com/</uri>
    </author>
    <content type="html">&lt;p&gt;We&amp;#8217;re currently working on a new API for Myna. The new API exposes much more functionality, allowing, for example, experiments and variants to be created and removed. While it&amp;#8217;s in development we&amp;#8217;re soliciting feedback from the community. If you&amp;#8217;re interested, read &lt;a href='http://mynaweb.com/docs/new-api.html'&gt;the documentation&lt;/a&gt; and let us know about any changes you think would improve it.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <id>http://www.mynaweb.com/blog/blog/2011/09/13/myna-vs-ab</id>
    <link type="text/html" rel="alternate" href="http://www.mynaweb.com/blog/blog/2011/09/13/myna-vs-ab.html"/>
    <title>Myna vs A/B Testing</title>
    <updated>2011-09-13T00:00:00+01:00</updated>
    <author>
      <name>Myna</name>
      <uri>http://www.mynaweb.com/</uri>
    </author>
    <content type="html">&lt;p&gt;37Signals recently posted an &lt;a href='http://37signals.com/svn/posts/2991-behind-the-scenes-ab-testing-part-3-final'&gt;interesting article on their use of A/B testing&lt;/a&gt;. Naturally I think they&amp;#8217;d do a lot better if they used Myna. They include enough data in their post that we can run some simulations to quantify how much better Myna would do for them. Prepare to be surprised!&lt;/p&gt;

&lt;p&gt;The first thing I wanted to look at was the impressive 102.5% improvement they got from the &amp;#8220;Person Page&amp;#8221;. In another post they said their sample size was about 42&amp;#8217;000. With such a large improvement A/B testing is going to find the correct result at the end of the test. But how many signups extra signups would they have got if they sent those 42&amp;#8217;000 users via Myna? It turns out &lt;strong&gt;Myna has a whopping 33% improvement over A/B testing&lt;/strong&gt;. The graph below shows the improvement Myna makes over A/B testing for five thousand runs of the same experiment. You can see the average improvement is 33%, and it is never lower than 26%.&lt;/p&gt;

&lt;p&gt;&lt;img src='/blog/images/myna-vs-ab-high.png' alt='Percentage Improvement of Myna over A/B Testing' /&gt;&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s the easy case, the rare change that leads to an enormous improvement. What about the 4.78% improvement Michael gives over Jocelyn? This is the bread-and-butter case for A/B testing, the kind of small improvement that adds up over time. Here things get interesting. &lt;strong&gt;Myna still improves over A/B testing&lt;/strong&gt;, though the difference isn&amp;#8217;t so dramatic. More interesting is that &lt;strong&gt;A/B testing gets it wrong over 80% of the time!&lt;/strong&gt; Let me repeat that: given 42&amp;#8217;000 samples and a 4.78% improvement over baseline, A/B testing makes the wrong choice 80.96% of the time. Myna, being an adaptable system, never gets stuck with a fixed decision.&lt;/p&gt;

&lt;p&gt;&lt;img src='/blog/images/myna-vs-ab-low.png' alt='Percentage Improvement of Myna over A/B Testing' /&gt;&lt;/p&gt;

&lt;p&gt;What happens if we raise the sample size to 240&amp;#8217;000 samples? Now A/B testing makes the wrong choice about 25% of the time, which is still quite poor, and Myna still averages a small improvement over A/B testing. There are two interesting questions we might ask here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How many samples do we need before A/B testing gets the right answer almost every time?&lt;/li&gt;

&lt;li&gt;What happens to the performance of Myna vs A/B testing when A/B testing makes the wrong choice?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To try to answer the first question I ran the same experiment but with 360&amp;#8217;000 samples. I didn&amp;#8217;t want to wait forever so I only repeated this experiment 500 times. Here A/B testing makes the right decision 90% of the time, which is probably acceptable for most people. Still, this is a lot more traffic than the 42&amp;#8217;000 samples we started with.&lt;/p&gt;

&lt;p&gt;For the second question I want back to the original setup and asked A/B testing to make a decision given 42&amp;#8217;000 samples. I then ran A/B testing and Myna for an additional 60,000, 120&amp;#8217;000, and 240&amp;#8217;000 samples. I repeated this experiment 500 times. The average improvement of Myna over A/B testing is 1%, 2%, and 5% respectively. These results show how Myna can continuously optimise. We never need to make a hard decision, so we&amp;#8217;ll never get stuck with the wrong decision. As we&amp;#8217;ve seen this flexibility doesn&amp;#8217;t cost us anything &amp;#8211; Myna continues to outperform A/B testing even in the cases that are easy for A/B testing.&lt;/p&gt;

&lt;h2 id='conclusion'&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Here are the main points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Myna makes use of data as it arrives, so you can &lt;strong&gt;expect Myna to out-perform A/B testing when one option is clearly better&lt;/strong&gt;.&lt;/li&gt;

&lt;li&gt;If you&amp;#8217;re doing A/B test and using relatively small sample sizes &lt;strong&gt;you&amp;#8217;re missing out on many small improvements&lt;/strong&gt; because you simply don&amp;#8217;t have enough data for statistically significant results.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Myna won&amp;#8217;t get stuck with the wrong decision when the data isn&amp;#8217;t clear&lt;/strong&gt;. Unlike A/B testing you don&amp;#8217;t have to set the sample size in advance. Myna will keep on optimising indefinitely, catching all those small improvements that eventually add up but take a lot of data to determine.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id='technical_details'&gt;Technical Details&lt;/h2&gt;

&lt;p&gt;If you want to try this at home, here are some details on my experimental setup. I assumed the base sign-up rate is 5%, which is typical of e-commerce applications. Except where indicated each experiment had 5&amp;#8217;000 runs. I used the G-test with a p-value of 0.05 for A/B testing. I can&amp;#8217;t tell you the secret sauce that goes into Myna&amp;#8217;s algorithms, but in later posts I hope to go over some basic bandit algorithms, which are the core technology behind Myna.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <id>http://www.mynaweb.com/blog/blog/2011/08/15/what-is-hn-worth</id>
    <link type="text/html" rel="alternate" href="http://www.mynaweb.com/blog/blog/2011/08/15/what-is-hn-worth.html"/>
    <title>What is Hacker News Worth?</title>
    <updated>2011-08-15T00:00:00+01:00</updated>
    <author>
      <name>Myna</name>
      <uri>http://www.mynaweb.com/</uri>
    </author>
    <content type="html">&lt;p&gt;Twelve thousand hits, over thirty emails, seven comments on the post, and over a dozen new beta testers. That&amp;#8217;s what getting &lt;a href='http://untyped.com/untyping/2011/02/11/stop-ab-testing-and-make-out-like-a-bandit/'&gt;a blog post&lt;/a&gt; &lt;a href='http://news.ycombinator.com/item?id=2831455'&gt;featured on Hacker News&lt;/a&gt; brought us. We&amp;#8217;ve been slowly developing Myna over the last few months, but this gave us the impetus to completely revamp the website. As you can see it&amp;#8217;s still quite minimal, but it is certainly an improvement over the old site. Here are a few technical details that might be of interest if you&amp;#8217;re trying to quickly build out a site:&lt;/p&gt;

&lt;p&gt;The basic design of the site is &lt;a href='http://themeforest.net/item/minima-a-minimal-personal-portfolio-site/439729'&gt;Minima from Theme Forest&lt;/a&gt;. Well worth spending the $9 to get the general layout and some graphics.&lt;/p&gt;

&lt;p&gt;We&amp;#8217;ve heavily modified the Minima theme. It has a bunch of things we don&amp;#8217;t need and didn&amp;#8217;t support pages with lots of text. We used &lt;a href='http://lesscss.org/'&gt;Less&lt;/a&gt; to get some abstraction over the CSS, which makes large changes a lot easier. Use it or use &lt;a href='http://sass-lang.com/'&gt;Sass&lt;/a&gt;. These tools are basically equivalent, so just pick one and move on.&lt;/p&gt;

&lt;p&gt;We were lucky enough to find a public domain picture of a myna bird on Wikipedia. If we hadn&amp;#8217;t, we&amp;#8217;d simply have bought one from &lt;a href='http://www.istockphoto.com'&gt;iStockphoto&lt;/a&gt;. We retouched the image a bit in &lt;a href='http://www.pixelmator.com/'&gt;Pixelmator&lt;/a&gt;, which does the bits of Photoshop we want at a price we can accept.&lt;/p&gt;

&lt;p&gt;Finally, the site is built with &lt;a href='https://github.com/mojombo/jekyll/wiki/'&gt;Jekyll&lt;/a&gt;. Jekyll gives us some abstraction over HTML, making site wide changes easy. It also fits into a &lt;a href='http://www.emacs.org'&gt;text-editor&lt;/a&gt;-and-&lt;a href='http://git-scm.org'&gt;version-control&lt;/a&gt; workflow we&amp;#8217;re comfortable with.&lt;/p&gt;

&lt;p&gt;Now it&amp;#8217;s time to get our new users live. Thanks Hacker News!&lt;/p&gt;</content>
  </entry>
  
 
</feed>
