<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace V5 Site Server v5.13.594-SNAPSHOT-1 (http://www.squarespace.com) on Wed, 09 Sep 2026 06:53:33 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Simplexify</title><link>http://simplexify.net/blog/</link><description>The thoughts of DC Woods</description><lastBuildDate>Sat, 15 Dec 2012 05:33:25 +0000</lastBuildDate><copyright></copyright><language>en-NZ</language><generator>Squarespace V5 Site Server v5.13.594-SNAPSHOT-1 (http://www.squarespace.com)</generator><item><title>Introducing Minimax: an LP solver for iPhone</title><dc:creator>DC Woods</dc:creator><pubDate>Sat, 15 Dec 2012 05:32:11 +0000</pubDate><link>http://simplexify.net/blog/2012/12/15/introducing-minimax-an-lp-solver-for-iphone.html</link><guid isPermaLink="false">914184:10644811:32037907</guid><description><![CDATA[<p>Introducing <a href="http://simplexify.net/minimax">Minimax</a>: a linear program (LP) and mixed-integer linear program (MILP) solver for the iPhone.</p>

<p>I created Minimax for a few reasons. There are a few LP solvers already available on iOS, but I had some thoughts on how to design such an app from the ground up to be optimized (!) for the iPhone. I also wanted to experiment with ideas I&#8217;ve had for a while for a simple modelling language. I think existing languages have a steeper learning curve than necessary, and their syntax is too verbose to be suited for a mobile device. Finally, I designed Minimax to be the solver <strong><em>I</em></strong> wish existed.</p>

<p>Minimax is intended for students, small businesses, and optimization geeks who see everyday decisions as objective functions and linear inequalities. (Does anyone else do their grocery shopping by minimizing total weight subject to cost and nutritional requirement constraints?) It is best at solving small and medium-sized problems, but is capable of solving problems with hundreds or even thousands of variables and constraints, depending on your iPhone memory (which get bigger each year) and patience.<a href="#fn1-2012-10-16"><sup id="fnrl-2012-10-16">1</sup></a></p>

<p>Minimax uses a new modelling language called <a href="http://simplexify.net/optml">OptML</a>, which was specially designed for the constraints of mobile computing. OptML consists of two distinct syntaxes. The <em>basic syntax</em> writes models out as close to their mathematical formulation as possible, in fact the only difference is that each constraint begins with a colon.</p>

<pre class="optml">
  max 143x + 60 * y
  : 120 x + 210y <= 15000
  : 110x + 30y <= 4000
  : x + y <= 75
  : x, y integer
</pre>

<p>For simple models, or for beginners, basic syntax is all you need. However, more power is available with <em>macro syntax</em>, which is used for model generation. This includes <em>symbols</em> that you can predefine and substitute later in the model, and constructs such as loops and conditionals. An OptML model is parsed in two phases. First, the <em>macro compiler</em> processes all the macro syntax and outputs basic syntax text. This will be exactly the same as if the equivalent basic syntax had been written out in full. Second, the <em>interpreter</em> reads in the basic syntax model, ready to be solved.</p>

<p>A key feature of Minimax and OptML is the ability to import and create <em>datasets</em>, which are key-value maps. These datasets can be registered at the start of the model, and then the symbols can be called and evaluated within the model.</p>

<p>Check out the <a href="http://simplexify.net/minimax">Minimax product page</a> for a much more detailed description of the features of the app, with screenshots, and the <a href="http://simplexify.net/optml">OptML page</a> for its specification, including examples.  You can also follow me on Twitter, <a href="http://twitter.com/dcwoods">@DCWoods</a>, to hear about Minimax news and updates.</p>

<p>Minimax is available now in the App Store.</p>

<p><a href="https://itunes.apple.com/us/app/minimax/id539382071?ls=1&amp;mt=8"><img style="margin-top:11px; margin-bottom:11px;" src="http://simplexify.net/storage/App_Store_Badge_EN_0609.png?__SQUARESPACE_CACHEVERSION=1339397554677"  width="25%"/></a></p>

<hr />

<ol><li id="fn1-2012-10-16">It can take a long time to tap out a big model on an iPhone keyboard, but you can import models, including models in OPTML and MPS format, and also datasets in CSV format. <a href="#fnrl-2012-10-16" title="Jump back to footnote 1 in the text.">↩</a></li>
</ol>
]]></description><wfw:commentRss>http://simplexify.net/blog/rss-comments-entry-32037907.xml</wfw:commentRss></item><item><title>Some OR-Exchange stats</title><category>or-exchange</category><dc:creator>DC Woods</dc:creator><pubDate>Thu, 20 Sep 2012 07:54:23 +0000</pubDate><link>http://simplexify.net/blog/2012/9/20/some-or-exchange-stats.html</link><guid isPermaLink="false">914184:10644811:29168235</guid><description><![CDATA[<p><a href="http://or-exchange.com/">OR-Exchange</a> is a question-and-answer site for Operations Research, along the same lines as <a href="http://stackoverflow.com">Stack Overflow</a> for programming, but smaller and less strict. If you don&#8217;t know what Operations Research is, then OR-Exchange won&#8217;t be a place you&#8217;ll want to visit.  If you do, then check it out, it is a useful place to get answers to OR questions and discuss OR topics.</p>

<p>I recently downloaded some of the data from the site, specifically the <strong>user reputation</strong> information. If you go to a user&#8217;s <em>karma history</em> page (<a href="http://or-exchange.com/users/82/dc-woods/reputation/">here is mine</a>) you see a little graph plotting karma over time.  The HTML source contains the coordinates for each point, and I extracted all of these, for all users, into a dataset.</p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img src="http://simplexify.net/storage/DCWoods-ORX-reputation-20120920.png?__SQUARESPACE_CACHEVERSION=1348128296702" alt="Karma graph for DC Woods"/></span></span></p>

<p>A user&#8217;s karma changes when someone votes on one of his questions or answers, or when he votes down someone else&#8217;s.  It can be considered a proxy for activity on the site, although it doesn&#8217;t capture all activities.  The rest of this post explores some basic analysis on this reputation data.  In a later post I will extend this analysis to data about questions and answers themselves.</p>

<p>Please note that I am not trying to put undue attention on karma. I don&#8217;t want OR-Exchange to turn into a place that is gamed to accumulate karma, or where high karma implies you are a better person. This is just the first set of data I&#8217;ve extracted, and it is fun to examine.</p>

<h2>General site activity</h2>

<p>The site was started in November 2009 by <a href="http://or-exchange.com/users/1/michael-trick/">Mike Trick</a>, so we are coming up on its third anniversary.  If we count the number of users that were <em>active</em> (had some karma activity) in each month since, we get the following graph.</p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img width="400" src="http://simplexify.net/storage/active-users.png?__SQUARESPACE_CACHEVERSION=1348128363220" alt="Active users by month"/></span></span></p>

<p>It looks like there hasn&#8217;t been substatial growth in the number of active users for quite a while.  However, these are users that <em>get</em> karma points, in any question-and-answer site, there will be many more people who view and vote on questions than those who answer them, and this is still valid activity.  I don&#8217;t have data on page views, but we can graph the combined <strong>points accrued</strong> each month, which will capture those who vote.</p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img width="400" src="http://simplexify.net/storage/total-points.png?__SQUARESPACE_CACHEVERSION=1348128396521" alt="Total points accrued by month"/></span></span></p>

<p>Again, we see that site activity has fluctuated around the same levels since early 2010.</p>

<p>If we consider an <strong>event</strong> to be any occurence of a user&#8217;s reputation changing, the following graph shows on which day of the week people are voting on the site.</p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img width="400" src="http://simplexify.net/storage/events-by-day.png?__SQUARESPACE_CACHEVERSION=1348128426050" alt="Karma events by day of week"/></span></span></p>

<p>We can also plot the time of day that karma events occur.<a href="#fn1-2012-09-20"><sup id="fnrl-2012-09-20">1</sup></a></p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img width="400" src="http://simplexify.net/storage/events-by-hour.png?__SQUARESPACE_CACHEVERSION=1348128448283" alt="Karma events by hour of day"/></span></span></p>

<h2>User karma</h2>

<p>Of all the registered users on the site, few of us have accumulated lots of karma points, but a decent number have accumulated several hundred points. The graph below shows the distribution.</p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img width="400" src="http://simplexify.net/storage/reputation-distribution.png?__SQUARESPACE_CACHEVERSION=1348128517166" alt="Karma distribution"/></span></span></p>

<p>There are 14 users with more than 1000 karma points and the graph below shows the accumulation of points for these users since the site began.</p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img width="400" src="http://simplexify.net/storage/top1000-reputation.png?__SQUARESPACE_CACHEVERSION=1348128560847" alt="Karma accumulation for users with 1000+ points"/></span></span></p>

<p>Note that the user with the most karma, <a href="http://or-exchange.com/users/27/paul-rubin/">Paul Rubin</a>, is <em>well</em> ahead of everyone else.  It is also interesting to consider how fast users accumulate karma after joining. The following graph shows the karma accumulation for the firstt 500 days after joining for users with more than 1000 points.</p>

<p style="text-align:center;"><span class="full-image-block ssNonEditable"><span><img width="400" src="http://simplexify.net/storage/top1000-progress.png?__SQUARESPACE_CACHEVERSION=1348128612735" alt="Reputatation growth after joining for 1000+ users"/></span></span></p>

<p>I&#8217;ve calculated some &#8220;awards&#8221; for arbitrary karma-based records and milestones.</p>

<p>Most points in a single day:</p>

<table width="580">
    <tr>
        <th style="padding:5px;">Place</th>
        <th>Name</th>
        <th>Points</th>
        <th>Date</th>
    </tr>
    <tr>
        <td class="center">1st</td>
        <td><a href="http://www.or-exchange.com/users/78/matthew-saltzman/">Matthew Saltzman</a></td>
        <td class="center">180</td>
        <td class="center">09Apr2011</td>
    </tr>
    <tr class="odd">
        <td class="center">2nd</td>
        <td><a href="http://www.or-exchange.com/users/27/paul-rubin/">Paul Rubin</a></td>
        <td class="center">140</td>
        <td class="center">19Apr2010</td>
    </tr>
    <tr>
        <td class="center">3rd</td>
        <td><a href="http://www.or-exchange.com/users/82/dc-woods/">David Woods</a></td>
        <td class="center">120</td>
        <td class="center">22Apr2010</td>
    </tr>
    <tr class="odd">
        <td class="center">4th</td>
        <td><a href="http://www.or-exchange.com/users/558/marco-luebbecke/">Marco Lübbecke</a></td>
        <td class="center">110</td>
        <td class="center">16Feb2012</td>
    </tr>
    <tr>
        <td class="center">5th</td>
        <td><a href="http://www.or-exchange.com/users/558/marco-luebbecke/">Marco Lübbecke</a></td>
        <td class="center">110</td>
        <td class="center">10Sep2012</td>
    </tr>
</table>

<p>Worst single day:</p>

<table width="580">
    <tr>
        <th style="padding:5px;">Place</th>
        <th>Name</th>
        <th>Points</th>
        <th>Date</th>
    </tr>
    <tr>
        <td class="center">1st</td>
        <td><a href="http://www.or-exchange.com/users/21/mark/">Mark</a></td>
        <td class="center">-50</td>
        <td class="center">01Jan2010</td>
    </tr>
    <tr class="odd">
        <td class="center">2nd</td>
        <td><a href="http://www.or-exchange.com/users/310/jessy/">Jessy</a></td>
        <td class="center">-41</td>
        <td class="center">19Feb2012</td>
    </tr>
    <tr>
        <td class="center">3rd</td>
        <td><a href="http://www.or-exchange.com/users/21/mark/">Mark</a></td>
        <td class="center">-25</td>
        <td class="center">03Dec2009</td>
    </tr>
</table>

<p>Most points in a month:</p>

<table width="580">
    <tr>
        <th style="padding:5px;">Place</th>
        <th>Name</th>
        <th>Points</th>
        <th>Month</th>
    </tr>
    <tr>
        <td class="center">1st</td>
        <td><a href="http://www.or-exchange.com/users/82/dc-woods/">David Woods</a></td>
        <td class="center">582</td>
        <td class="center">Jun2010</td>
    </tr>
    <tr class="odd">
        <td class="center">2nd</td>
        <td><a href="http://www.or-exchange.com/users/67/larrydag-1/">Larry</a></td>
        <td class="center">502</td>
        <td class="center">Apr2010</td>
    </tr>
    <tr>
        <td class="center">3rd</td>
        <td><a href="http://www.or-exchange.com/users/27/paul-rubin/">Paul Rubin</a></td>
        <td class="center">495</td>
        <td class="center">Apr2010</td>
    </tr>
    <tr class="odd">
        <td class="center">4th</td>
        <td><a href="http://www.or-exchange.com/users/558/marco-luebbecke/">Marco Lübbecke</a></td>
        <td class="center">444</td>
        <td class="center">Jan2012</td>
    </tr>
    <tr>
        <td class="center">5th</td>
        <td><a href="http://www.or-exchange.com/users/240/geoffrey-de-smet/">Geoffrey De Smet</a></td>
        <td class="center">426</td>
        <td class="center">Jul2012</td>
    </tr>
</table>

<p>Best first week after joining:</p>

<table width="580">
    <tr>
        <th style="padding:5px;">Place</th>
        <th>Name</th>
        <th>Points</th>
    </tr>
    <tr>
        <td class="center">1st</td>
        <td><a href="http://www.or-exchange.com/users/82/dc-woods/">David Woods</a></td>
        <td class="center">358</td>
    </tr>
    <tr class="odd">
        <td class="center">2nd</td>
        <td><a href="http://www.or-exchange.com/users/364/bjarnimax/">Bjarni Kristjansson</a></td>
        <td class="center">196</td>
    </tr>
    <tr>
        <td class="center">3rd</td>
        <td><a href="http://www.or-exchange.com/users/1/michael-trick/">Michael Trick</a></td>
        <td class="center">95</td>
    </tr>
    <tr class="odd">
        <td class="center">4th</td>
        <td><a href="http://www.or-exchange.com/users/240/geoffrey-de-smet/">Geoffrey De Smet</a></td>
        <td class="center">93</td>
    </tr>
    <tr>
        <td class="center">5th eq</td>
        <td><a href="http://www.or-exchange.com/users/21/mark/">Mark</a> &amp; <a href="http://www.or-exchange.com/users/30/ahmet-yukselturk/">Ahmet Yukselturk</a></td>
        <td class="center">91</td>
    </tr>
</table>

<p>Best first 30 days after joining:</p>

<table width="580">
    <tr>
        <th style="padding:5px;">Place</th>
        <th>Name</th>
        <th>Points</th>
    </tr>
    <tr>
        <td class="center">1st</td>
        <td><a href="http://www.or-exchange.com/users/82/dc-woods/">David Woods</a></td>
        <td class="center">498</td>
    </tr>
    <tr class="odd">
        <td class="center">2nd</td>
        <td><a href="http://www.or-exchange.com/users/558/marco-luebbecke/">Marco Lübbecke</a></td>
        <td class="center">360</td>
    </tr>
    <tr>
        <td class="center">3rd</td>
        <td><a href="http://www.or-exchange.com/users/1/michael-trick/">Michael Trick</a></td>
        <td class="center">325</td>
    </tr>
    <tr class="odd">
        <td class="center">4th</td>
        <td><a href="http://www.or-exchange.com/users/21/mark/">Mark</a></td>
        <td class="center">310</td>
    </tr>
    <tr>
        <td class="center">5th</td>
        <td><a href="http://www.or-exchange.com/users/364/bjarnimax/">Bjarni Kristjansson</a></td>
        <td class="center">306</td>
    </tr>
</table>

<p>Highest points rate since joining:</p>

<table width="580">
    <tr>
        <th style="padding:5px;">Place</th>
        <th>Name</th>
        <th>Join date</th>
        <th>Karma</th>
        <th>Days</th>
        <th>Points per day</th>
    </tr>
    <tr>
        <td class="center">1st</td>
        <td><a href="http://www.or-exchange.com/users/27/paul-rubin/">Paul Rubin</a></td>
        <td class="center">19Nov2009</td>
        <td class="center">7083</td>
        <td class="center">1034</td>
        <td class="center">6.85</td>
    </tr>
    <tr class="odd">
        <td class="center">2nd</td>
        <td><a href="http://www.or-exchange.com/users/558/marco-luebbecke/">Marco Lübbecke</a></td>
        <td class="center">17Dec2011</td>
        <td class="center">1776</td>
        <td class="center">276</td>
        <td class="center">6.43</td>
    </tr>
    <tr>
        <td class="center">3rd</td>
        <td><a href="http://www.or-exchange.com/users/737/yeesian/">Ng Yee Sian</a></td>
        <td class="center">01Jul2012</td>
        <td class="center">416</td>
        <td class="center">79</td>
        <td class="center">5.27</td>
    </tr>
    <tr class="odd">
        <td class="center">4th</td>
        <td><a href="http://www.or-exchange.com/users/692/jfpuget/">jfpuget</a></td>
        <td class="center">09Jun2012</td>
        <td class="center">416</td>
        <td class="center">101</td>
        <td class="center">4.73</td>
    </tr>
    <tr>
        <td class="center">5th</td>
        <td><a href="http://www.or-exchange.com/users/82/dc-woods/">David Woods</a></td>
        <td class="center">19Apr2010</td>
        <td class="center">3867</td>
        <td class="center">883</td>
        <td class="center">4.38</td>
    </tr>
</table>

<p>And finally, for the record, the 14 users who at the time of data extraction had over 1000 karma points are: <a href="http://www.or-exchange.com/users/27/paul-rubin/">Paul Rubin</a> (7083), <a href="http://www.or-exchange.com/users/82/dc-woods/">David Woods</a> (3867), <a href="http://www.or-exchange.com/users/62/bo-jensen/">Bo Jensen</a> (3584), <a href="http://www.or-exchange.com/users/1/michael-trick/">Michael Trick</a> (3462), <a href="http://www.or-exchange.com/users/21/mark/">Mark</a> (3460), <a href="http://www.or-exchange.com/users/67/larrydag-1/">Larry</a> (2957), <a href="http://www.or-exchange.com/users/78/matthew-saltzman/">Matthew Saltzman</a> (2454), <a href="http://www.or-exchange.com/users/25/fbahr/">Florian Bahr</a> (2175), <a href="http://www.or-exchange.com/users/240/geoffrey-de-smet/">Geoffrey De Smet</a> (2068), <a href="http://www.or-exchange.com/users/340/ehsan/">Ehsan Nikbakhsh</a> (2035), <a href="http://www.or-exchange.com/users/22/tallys-yunes/">Tallys Yunes</a> (1803), <a href="http://www.or-exchange.com/users/558/marco-luebbecke/">Marco Lübbecke</a> (1776), <a href="http://www.or-exchange.com/users/153/gilead/">Gilead</a> (1604), and <a href="http://www.or-exchange.com/users/50/samik-r/">Samik R.</a> (1009).</p>

<hr />

<ol>
    <li id="fn1-2012-09-20">The time values on the site seem to be UTC. I&#8217;ve aligned these to the time that is displayed against events on the site itself, for me. I haven&#8217;t looked at whether this is local Melbourne time or something else. <a href="#fnrl-2012-09-20" title="Jump back to footnote 1 in the text.">↩</a></li>
</ol>
]]></description><wfw:commentRss>http://simplexify.net/blog/rss-comments-entry-29168235.xml</wfw:commentRss></item><item><title>I am a statistician and I buy lottery tickets</title><dc:creator>DC Woods</dc:creator><pubDate>Sun, 06 May 2012 08:59:18 +0000</pubDate><link>http://simplexify.net/blog/2012/5/6/i-am-a-statistician-and-i-buy-lottery-tickets.html</link><guid isPermaLink="false">914184:10644811:16146913</guid><description><![CDATA[<p>When my friends hear me say that I&#8217;m buying a lottery ticket for a big draw I often get the comment, &#8220;but aren&#8217;t you a statistician?&#8221;.  The implication is that only people who are ignorant of probability would play the lottery.  I&#8217;ve also heard the belief that the lottery is a tax on poor people.  I have a different view, that buying lottery tickets is perfectly rational for me.</p>

<p>There are a number of different lotteries here in Melbourne, Australia, but lets consider the draw for this Tuesday, the &#8220;<a href="https://tatts.com/tattersalls/games/oz-lotto/play-oz-lotto">Super 7&#8217;s Oz Lotto</a>&#8221;.  This game draws seven balls from 45, and the big &#8220;first division&#8221; prize is for getting all seven correct.  There are six other consolation divisions with much smaller prizes for getting a smaller number of balls correct.  The first division prize for this week is $70 million, which is quite a bit bigger than usual.</p>

<p>The odds against winning the big prize are 45,379,619:1.<a href="#fn1-2012-05-07"><sup id="fnr1-2012-05-07">1</sup></a>  That sounds like a long shot by any measure, and this is the number that people usually quote when they tell you how crazy you are.  However, that is the odds for a single combination of balls - one line.  Usually you&#8217;d buy a ticket with multiple lines.  For a standard 12 line ticket the odds shorten to 3,781,635:1, still not very likely, but definitely much improved.  I actually got excited by the big draw this week and bought a 36 line ticket, for odds of 1,260,545:1, just over &#8220;one in a million&#8221; odds.</p>

<p>The standard argument of people who think that lotto is for suckers is based on expected return.  They are taught at school that a rational investment is one with an expected value greater than the price paid.  I have some problems with this argument, but I&#8217;ve never really calculated it before, so let us consider the numbers.  Each line on the ticket costs $1.20, so a 12 line ticket costs $14.40.  The way we calculate expected return is to multiply the payout times the probability:</p>

<p style="text-align:center;">
Expected return per line = $70,000,000 / 45,379,620 = $1.54
</p>

<p>Hang on, each line costs us $1.20 and has an expected value of $1.54&#8230; that sounds like a good investment!  In fact, it could be tempting to buy every single combination of numbers to guarantee a win, with a cost of $54,455,545, and a profit of $15,544,455.<a href="#fn2-2012-05-07"><sup id="fnr2-2012-05-07">2</sup></a></p>

<p>Unfortunately, there is another factor to consider.  We only get the full prize if we win it alone.  If another person also has the winning combination we get half, only $35m, and if three or more people win then we get a correspondingly smaller fraction of the prize.  To calculate the true expected value of our ticket we need to estimate the probability distribution of the number of winners.  This requires us to know the number of tickets sold.  It turns out we can get an estimate of this, but we have to do some work.</p>

<p>The table below shows the <a href="http://www.ozlotteries.com/lotto-results/oz-lotto/dividends/950">results</a> from the $50m draw last week.  Note that the first division prize wasn’t won so it jackpots to this week.</p>

<table>
<tr>
    <th style="padding:5px;">Division</th>
    <th style="width:100px;">Prize per winner</th>
    <th style="width:100px;">Division prize pool</th>
    <th style="width:100px;">Winners</th>
    <th style="width:100px;">Odds</th>
    <th style="width:100px;">Estimated lines sold</th>
</tr>
<tr>
    <td class="center">1</td>
    <td class="right">-</td>
    <td class="right">-</td>
    <td class="right">-</td>
    <td class="right">45,379,619:1</td>
    <td class="right">-</td>
</tr>
<tr class="odd">
    <td class="center">2</td>
    <td class="right">$34,346.25</td>
    <td class="right">$721,271</td>
    <td class="right">21</td>
    <td class="right">3,241,400:1</td>
    <td class="right">68,069,430</td>
</tr>
<tr>
    <td class="center">3</td>
    <td class="right">$4,759.50</td>
    <td class="right">$1,484,964</td>
    <td class="right">312</td>
    <td class="right">180,077:1</td>
    <td class="right">56,184,291</td>
</tr>
<tr  class="odd">
    <td class="center">4</td>
    <td class="right">$366.45</td>
    <td class="right">$763,681</td>
    <td class="right">2,084</td>
    <td class="right">29,601:1</td>
    <td class="right">61,690,234</td>
</tr>
<tr>
    <td class="center">5</td>
    <td class="right">$49.05</td>
    <td class="right">$890,600</td>
    <td class="right">18,157</td>
    <td class="right">3,429:1</td>
    <td class="right">62,279,498</td>
</tr>
<tr class="odd">
    <td class="center">6</td>
    <td class="right">$24.00</td>
    <td class="right">$10,185,408</td>
    <td class="right">424,392</td>
    <td class="right">153:1</td>
    <td class="right">65,226,403</td>
</tr>
<tr>
    <td class="center">7</td>
    <td class="right">$14.55</td>
    <td class="right">$11,398,484</td>
    <td class="right">783,401</td>
    <td class="right">86:1</td>
    <td class="right">68,123,866</td>
</tr>
</table>

<p>The <a href="https://tatts.com/tattersalls/games/oz-lotto/game-rules-and-odds">odds</a> allow us to calculate the probability of winning each division.  Since we know the number of lines that actually won each division, we can estimate the number of lines sold.<a href="#fn3-2012-05-07"><sup id="fnr3-2012-05-07">3</sup></a>  This is obviously probabilistic, so the estimates are different, but the division 7 estimate should be the most accurate.</p>

<p>We would expect the number of lines sold to be related to the advertised first division prize.  This is the headline prize that is featured on TV and posters around town.  Last week&#8217;s advertised prize was $50m.  We can <a href="https://tatts.com/tattersalls/results/results-search">search</a> to find the above table for past draws, and we can go back through the lottery&#8217;s <a href="https://twitter.com/#!/tattersalls">twitter feed</a> to find the advertised first division prize.<a href="#fn4-2012-05-07"><sup id="fnr4-2012-05-07">4</sup></a>  The graph below shows the headline prize vs estimated lines sold (using the division 7 winners) for the past 52 draws.  Also included on the graph is the <a href="http://www.ozlotteries.com/lotto-results/oz-lotto/dividends/802">biggest draw ever</a>, $100m on 30 June 2009.</p>

<p><span class="full-image-block ssNonEditable active-image-container"><span><img src="http://simplexify.net/storage/post-images/Lotto-lines-vs-headline-prize.png?__SQUARESPACE_CACHEVERSION=1336350235345" alt="Graph of relationship between headline prize and lines sold"></span></span><br></p>

<p>We can use the built-in functionality in Excel to fit a quadratic curve to the data.  With an R-Square value of 99.76%, the curve seems to fit the data well.  By plugging $70m into this equation, we can estimate that approximately  116,580,883 lines will be sold in the upcoming draw.  We can now use this to calculate the probability of winning the first division alone, or having one, two, or more other winners.</p>

<p>The following formula gives us the probability of having X winners, where the number of lines sold is N, and the probability per line is p.</p>

<p style="text-align:center;">P(X) = <sup>N</sup>C<sub>X</sub> * p<sup>X</sup> * (1-p)<sup>N-X</sup></p>

<p>By plugging in the values of N =  116,580,883 and p = 1 / 45,379,620 we can calculate the probability for all values of X.  The table below shows this for X between 0 and 11.</p>

<table>
<tr>
    <th style="padding:5px;">Winners</th>
    <th style="width:100px;">Probability</th>
    <th style="width:100px;">Cumulative</th>
    <th style="width:100px;">Share of prize</th>
    <th style="width:100px;">Prob, given a win</th>
    <th style="width:100px;">Expected return</th>
</tr>
<tr>
    <td class="center">0</td>
    <td class="right">7.66%</td>
    <td class="right">7.66%</td>
    <td class="right">$0</td>
    <td class="right"></td>
    <td class="right"></td>
</tr>
<tr  class="odd">
    <td class="center">1</td>
    <td class="right">19.68%</td>
    <td class="right">27.34%</td>
    <td class="right">$70,000,000</td>
    <td class="right">21.31%</td>
    <td class="right">$14,920,082</td>
</tr>
<tr>
    <td class="center">2</td>
    <td class="right">25.28%</td>
    <td class="right">52.62%</td>
    <td class="right">$35,000,000</td>
    <td class="right">27.38%</td>
    <td class="right">$9,582,475</td>
</tr>
<tr  class="odd">
    <td class="center">3</td>
    <td class="right">21.65%</td>
    <td class="right">74.27%</td>
    <td class="right">$23,333,333</td>
    <td class="right">23.45%</td>
    <td class="right">$5,470,559</td>
</tr>
<tr>
    <td class="center">4</td>
    <td class="right">13.90%</td>
    <td class="right">88.18%</td>
    <td class="right">$17,500,000</td>
    <td class="right">15.06%</td>
    <td class="right">$2,635,114</td>
</tr>
<tr  class="odd">
    <td class="center">5</td>
    <td class="right">7.14%</td>
    <td class="right">95.32%</td>
    <td class="right">$14,000,000</td>
    <td class="right">7.74%</td>
    <td class="right">$1,083,143</td>
</tr>
<tr>
    <td class="center">6</td>
    <td class="right">3.06%</td>
    <td class="right">98.38%</td>
    <td class="right">$11,666,667</td>
    <td class="right">3.31%</td>
    <td class="right">$386,474</td>
</tr>
<tr  class="odd">
    <td class="center">7</td>
    <td class="right">1.12%</td>
    <td class="right">99.50%</td>
    <td class="right">$10,000,000</td>
    <td class="right">1.22%</td>
    <td class="right">$121,574</td>
</tr>
<tr>
    <td class="center">8</td>
    <td class="right">0.36%</td>
    <td class="right">99.86%</td>
    <td class="right">$8,750,000</td>
    <td class="right">0.39%</td>
    <td class="right">$34,161</td>
</tr>
<tr  class="odd">
    <td class="center">9</td>
    <td class="right">0.10%</td>
    <td class="right">99.97%</td>
    <td class="right">$7,777,778</td>
    <td class="right">0.11%</td>
    <td class="right">$8,668</td>
</tr>
<tr>
    <td class="center">10</td>
    <td class="right">0.03%</td>
    <td class="right">99.99%</td>
    <td class="right">$7,000,000</td>
    <td class="right">0.03%</td>
    <td class="right">$2,004</td>
</tr>
<tr class="odd">
    <td class="center">11</td>
    <td class="right">  0.01%</td>
    <td class="right">100.00%</td>
    <td class="right">$6,363,636</td>
    <td class="right">0.01%</td>
    <td class="right">$425</td>
</tr>
</table>

<p>The 5th and 6th columns are what we are interested in.  We are trying to determine the expected returns, <em>given that we have won</em>. The probabilities are calculated using the following formula.</p>

<p style="text-align:center;">P(X | X > 0) = P(X) / (1 - P(0))</p>

<p>To find the expected return if we win first division we then sum the values in the right-hand column, to give $34,244,780.  Multiplying this by p gives an expected value of each line of $0.75.  So, rationally, we shouldn&#8217;t invest in tickets for this lottery, since 0.75 &lt; 1.20.</p>

<p>However, there is <em>another</em> factor to consider.  We have calculated the expected return for winning first division, however we also have a chance of winning the other divisions.  We also need to calculate how much we can expect to win for each of the other divisions.</p>

<p>116,580,883 lines at $1.20 per line gives a total amount paid of $139,897,060.  The <a href="https://media.tatts.com/Lotto/tattersalls/games/General/Rules%20of%20Authorised%20Lotteries.pdf">game rules</a> state that at least 55% of this total must be used in the prize pool, and analysis of results from the past year confirms this figure.<a href="#fn5-2012-05-07"><sup id="fnr5-2012-05-07">5</sup></a>  This gives a prize pool of $76,943,383.  The <a href="https://tatts.com/tattersalls/games/oz-lotto/game-rules-and-odds">game odds page</a> also gives the proportion of the prize pool that is allocated to each division.  Using the odds we can then determine the expected number of winners and the payout per winning line.  The table below shows the expected value of a line for each division:</p>

<table>
<tr>
    <th style="padding:5px;">Division</th>
    <th style="width:90px;">Proportion of pool</th>
    <th style="width:90px;">Division prize pool</th>
    <th style="width:90px;">Odds</th>
    <th style="width:90px;">Expected winners</th>
    <th style="width:90px;">Prize per winner</th>
    <th style="width:90px;">Expected return</th>
</tr>
<tr>
    <td class="center">2</td>
    <td class="right">1.70%</td>
    <td class="right">$1,308,038</td>
    <td class="right">3,241,400:1</td>
    <td class="right">36</td>
    <td class="right">$36,368.52</td>
    <td class="right">$0.0112</td>
</tr>
<tr  class="odd">
    <td class="center">3</td>
    <td class="right">3.50%</td>
    <td class="right">$2,693,018</td>
    <td class="right">180,077:1</td>
    <td class="right">683</td>
    <td class="right">$3,940.86</td>
    <td class="right">$0.0231</td>
</tr>
<tr>
    <td class="center">4</td>
    <td class="right">1.80%</td>
    <td class="right">$1,384,981</td>
    <td class="right">29,601:1</td>
    <td class="right">3,938</td>
    <td class="right">$351.67</td>
    <td class="right">$0.0119</td>
</tr>
<tr  class="odd">
    <td class="center">5</td>
    <td class="right">2.10%</td>
    <td class="right">$1,615,811</td>
    <td class="right">3,429:1</td>
    <td class="right">37,926</td>
    <td class="right">$42.60</td>
    <td class="right">$0.0139</td>
</tr>
<tr>
    <td class="center">6</td>
    <td class="right">24.00%</td>
    <td class="right">$18,466,412</td>
    <td class="right">153:1</td>
    <td class="right">758,527</td>
    <td class="right">$24.35</td>
    <td class="right">$0.1584</td>
</tr>
<tr  class="odd">
    <td class="center">7</td>
    <td class="right">26.90%</td>
    <td class="right">$20,697,770   </td>
    <td class="right">86:1</td>
    <td class="right">1,340,640</td>
    <td class="right">$15.44</td>
    <td class="right">$0.1775</td>
</tr>
</table>

<p>Adding up the values in the expected return column gives an expected return of $0.40 for divisions 2 to 7.  Added to the expected return from division 1 gives an expected value per line of $0.75 + $0.40 = $1.15.  This is still less than the $1.20 we paid, but not by too much.</p>

<p>However, even if the expected value of a ticket was positive, it would still be a terrible investment.  The expected value argument only really works in the long term - if I was investing in millions of lines of tickets, or millions of different draws, then in the long run I would expect to make money.  This is how casinos work: very small positive expected returns multiplied by millions of transactions.  For an individual though, the probability of winning is essentially zero.  We don&#8217;t get to perform millions of transactions so we are almost certainly going to lose our &#8220;investment&#8221;.</p>

<p>So why do I still buy lottery tickets?  Definitely not for the expected monetary return on investment.  I think of it as a discretionary entertainment spend.  I get literally hours of enjoyment from fantasizing what I&#8217;d do if I won.  I happily spend $25 for two hours of entertainment at the movies, and I don&#8217;t judge the value of that experience based on its expected return.  For me, a lottery ticket for the occasional big draw has just as much entertainment value, or more, than the many other things that I spend money on to entertain myself.</p>

<p>The decision of whether to buy a lottery ticket shouldn&#8217;t be based on the probability of winning, or the expected return of a ticket, but on the entertainment value that comes from imagining a different life.  If that entertainment value compares favourably with other activities with a similar price, then go for it.  Plus, it has the added bonus that you might actually win; one-in-a-million events happen every day.  <em>Someone</em> eventually wins the big prize, and you have to be in to win.</p>

<p><em>If you liked this, I&#8217;m <a href="http://twitter.com/dcwoods">@dcwoods</a> on Twitter</em></p>

<p><br/></p>

<hr />

<ol>
<li id="fn1-2012-05-07">
    <p>The odds on the website are reported incorrectly.  1 in 87 is actually 86:1, not 87:1.&nbsp;<a href="#fnr1-2012-05-07" title="Jump back to footnote 1 in the text.">↩</a></p>
</li>
<li id="fn2-2012-05-07">
    <p>Buying so many tickets would be a major logistical challenge.&nbsp;<a href="#fnr2-2012-05-07" title="Jump back to footnote 2 in the text.">↩</a></p>
</li>
<li id="fn3-2012-05-07">
    <p>Estimated lines sold = winners in division / probability of winning division.&nbsp;<a href="#fnr3-2012-05-07" title="Jump back to footnote 3 in the text.">↩</a></p>
</li>
<li id="fn4-2012-05-07">
    <p>The actual first division prize may be more than the advertised headline prize, depending on ticket sales.&nbsp;<a href="#fnr4-2012-05-07" title="Jump back to footnote 4 in the text.">↩</a></p>
</li>
<li id="fn5-2012-05-07">
    <p>The total prizes paid can be more than the prize pool, since jackpots are added on top to the first division.&nbsp;<a href="#fnr5-2012-05-07" title="Jump back to footnote 5 in the text.">↩</a></p>
</li>
</ol>
]]></description><wfw:commentRss>http://simplexify.net/blog/rss-comments-entry-16146913.xml</wfw:commentRss></item><item><title>What should a modern research publishing platform look like?</title><category>publishing</category><dc:creator>DC Woods</dc:creator><pubDate>Fri, 19 Aug 2011 03:19:50 +0000</pubDate><link>http://simplexify.net/blog/2011/8/19/what-should-a-modern-research-publishing-platform-look-like.html</link><guid isPermaLink="false">914184:10644811:12562957</guid><description><![CDATA[<p>After recently complaining about the state of academic publishing, I started thinking about what could replace it.  Here are my thoughts on features such a service would have.</p>

<p>In my <a href="http://simplexify.net/blog/2011/8/19/academic-publishing-20.html">previous blog post</a> I identified 6 criteria by which we could judge a good research publishing platform:</p>

<ol>
<li>There should be an efficient way to discover material that is relevant to our interests; </li>
<li>There should be a filter for quality, so that we can spend our limited time reading worthwhile papers; </li>
<li>There should be a way for &#8220;outsiders&#8221; to know whether the research is generally accepted by the research community; </li>
<li>Research should be available for public consumption as soon as possible after submission; </li>
<li>Anyone should be able to access the research, at no cost; </li>
<li>Anyone should be able to publish research, at no cost. </li>
</ol>

<p>When designing a system to meet these criteria we should add two extra conditions, in order for it to be successful:</p>

<ol>
<li>It should provide value to users right from the start, even if no one else is using it yet;</li>
<li>It should have a &#8220;network effect&#8221;, i.e., it should get more useful the more people who use it.</li>
</ol>

<p>Incidentally, too many internet startups fail because they don&#8217;t meet <em>both</em> of these criteria.  An idea that would be great if everyone was using it, but <em>only</em> useful if everyone is using it, will never get traction.</p>

<p>The system I&#8217;m thinking of is a web-based site that anyone can access. Researchers can create a <strong>project</strong> for their research, and interested users can &#8220;follow&#8221; updates to the project (like on github).  It can be a place where researchers can collaborate, planning and brainstorming ideas, either in private or in public.  It could be a central place where debates on the research could occur. Any &#8220;papers&#8221; that are produced can be hosted there, like a pre-print service, with permanent links to enable proper citation. Any data or code associated with the research could be hosted there, so that everything is in one place, with source and version control.  A researcher could have a private (or public) &#8220;field journal&#8221; section, like a blog, where results, graphs, notes, links, etc. could be placed for easy searching and access.  I think that this sort of resource would be useful for researchers right away, and could initially be used in parallel with regular publishing.</p>

<p>Users should be able to &#8220;like&#8221;, or &#8220;vouch for&#8221; a particular researcher, perhaps only in the context of a particular field, and the same for a particular project.  Perhaps algorithms could be developed to create a score for each project, based on who has &#8220;liked&#8221; it and what their reputation score is.  It would need to be more than simple voting, so that you don&#8217;t get the ignorant masses voting up their favorite topic.  This type of reputation and scoring is difficult, but not impossible.  <a href="http://klout.com">Klout</a> seems to have a reasonable algorithm for social network
influence, and <a href="http://news.ycombinator.com">Hacker News</a> seems to have some special way of calculating their scores for surfacing content.  </p>

<p>The last few years have made apparent that &#8220;the crowd&#8221; on the internet is good at surfacing interesting content quickly; this should apply to academic research also.  A good search system, with appropriate tags, and flexible alerts and saved searches should make it easy to find relevant information.  I&#8217;m imagining a service that notifies me via my chosen channel (RSS, email, iPhone notification, etc) for any of the following conditions:</p>

<ul>
<li>Anyone publishes a paper with &#8220;tabu search&#8221; in the title or keywords;</li>
<li>Any of the researchers on my &#8220;white list&#8221; publishes anything;</li>
<li>A project I&#8217;m interested in posts an update of any kind;</li>
<li>Someone posts a comment on one of my research projects;</li>
<li>A paper has been published in the &#8220;operations research&#8221; field, and it has achieved a score of at least 35 (made up number for this example);</li>
<li>One of the researchers I trust as a content surfacer has shared a link to an interesting paper.</li>
</ul>

<p>A flexible enough system of search options (I&#8217;m even thinking regular expressions!) could be very powerful.</p>

<p>We could get even more ambitious and try to tackle funding for research as well. <a href="http://www.kickstarter.com/">Kickstarter</a> is a site where people can post a project that they want to do, perhaps create a product or shoot a movie, and ask for people to help fund it.  Users commit a certain amount of money to the project, and this is only actually claimed if a predefined funding threshold is met, so you know you aren&#8217;t wasting money on a project that will never get off the ground.  This site I imagine could be a Kickstarter for research.  I&#8217;m sure that lots of people would be willing to contribute money to research they believe in.  Crowd-funding looks to me like the future.</p>

<p>Anyway, that was a bit of an idea-dump.  Is this already being done?  What am I not considering?  If it sounds like a good idea, then who wants to do it?</p>
]]></description><wfw:commentRss>http://simplexify.net/blog/rss-comments-entry-12562957.xml</wfw:commentRss></item><item><title>Academic publishing 2.0</title><category>publishing</category><dc:creator>DC Woods</dc:creator><pubDate>Fri, 19 Aug 2011 00:46:15 +0000</pubDate><link>http://simplexify.net/blog/2011/8/19/academic-publishing-20.html</link><guid isPermaLink="false">914184:10644811:12560527</guid><description><![CDATA[<p>An <a href="https://plus.google.com/110464871801965858778/posts/AXXVxiEMnBJ">interesting conversation</a> on Google+, started by Vincent Knight, has prompted me to think about the academic review process, and the journal industry in general, and I&#8217;ve come to the conclusion that the whole system is ready for a re-think.</p>

<p>The world is moving more and more towards a system where there is free and ready access to information, and the journal publishing model just doesn&#8217;t support this.  Most people at good universities probably don&#8217;t ever think about this because they have full academic subscriptions to all the journals in their field, but for those outside academia it can be impossible to get access to this knowledge.  Journals subscriptions each cost thousands of dollars; instead of facilitating access to knowledge, journals are now restricting it.  It is almost reminicent of the days when guilds hoarded knowledge to themselves, although not quite to that extreme; the knowledge is available, it just has to be paid for.  </p>

<p>And why should we have to pay to get access to these papers?  The authors themselves don&#8217;t get to see any of this money.  </p>

<p>So why don&#8217;t we just do away with journals?  Well, the problem is what to replace them with.  Journals do actually perform two vital functions:</p>

<ol>
<li>They provide a filter for relevance, and</li>
<li>They provide a filter for quality.</li>
</ol>

<p>The filter for relevance allows us to know <em>where</em> to find information relevant to our field.  A researcher really only needs to monitor the publications of perhaps 10-15 key journals in their field.  You don&#8217;t find papers on cosmology randomly turning up in issues of Transportation Science.  </p>

<p>The relevance filter has become much less important in recent years.  Specialised search engines, and even Google itself, mean that it doesn&#8217;t really matter where a paper is published; it is still discoverable.  A good system of tags and keywords, combined with saved searches and alerts renders the relevance filter aspect of journals unnecessary.</p>

<p>The quality filter is still important.  In a world where anyone could publish anything, it would be impossible to keep up with papers that <em>sound</em> relevant.  We know that if a paper makes it into a peer-reviewed journal then at least it will be of a certain quality, and if relevant then probably worth our time.  We want some &#8220;social proof&#8221; for the material we spend our attention on; if the reviewers (who are presumably well respected in our field) approve of the paper, then we can have a degree of confidence in it.  The filter for quality also provides a way for the public, and those not experts in a given field, to know that they can trust the findings of the research, and that it has the implicit approval of that field.  This last benefit is especially important in controversial areas such as climate change research.</p>

<p>However, the review process also introduces another significant disadvantage; the length of time between submission and publication can be anywhere from a few months to more than a year, and this slows down the process of iteration of innovation.  Consider how much further your field might have progressed in the last 20 years if papers were magically published in their final form as soon as they were submitted.  Unfortunately this long delay is the compromise that comes with the quality filter that the review process provides.</p>

<p>Let us step back and consider the criteria we might want a publishing system to meet:</p>

<ol>
<li>There should be an efficient way to discover material that is relevant to our interests;</li>
<li>There should be a filter for quality, so that we can spend our limited time reading worthwhile papers;</li>
<li>There should be a way for &#8220;outsiders&#8221; to know whether the research is generally accepted by the research community;</li>
<li>Research should be available for public consumption as soon as possible after submission;</li>
<li>Anyone should be able to access the research, at no cost;</li>
<li>Anyone should be able to publish research, at no cost.</li>
</ol>

<p>The current peer-reviewed journal publishing system meets criteria 1-3, and arguably 6, but not criteria 4 and 5.</p>

<p>I can hear you asking, &#8220;what about arXiv?&#8221;  From <a href="http://arxiv.org">its website</a>, &#8220;arXiv is an e-print service in the fields of physics, mathematics, non-linear science, computer science, quantitative biology, quantitative finance and statistics.&#8221;  arXiv is a fantastic resource; researchers can submit preprints of their work to arXiv so that they are available immediately to everyone, and then (optionally) when they make it through the peer-review process they get the stamp of approval and quality.  I encourage the reader to check out <a href="https://plus.google.com/110464871801965858778/posts/AXXVxiEMnBJ">this recent discussion</a> on Google+ on how a preprint service could help the field of Operations Research.  Feel free to join in the discussion there if you have an opinion.</p>

<p>The combination of a preprint service and traditional journal publishing seems to meet all the criteria above, but I can&#8217;t help think that it&#8217;s a bit clunky.  We are still relying on the journal side for the quality filter, but we don&#8217;t know about that quality until after the review period.</p>

<p>Surely with todays connectivity and technology we can come up with a more streamlined system.  Insights gained from content aggregators like Digg and Reddit, combined with the network and reputation effects of services like Twitter and Linkedin, should be able to add some value.</p>

<p><em>Update: I&#8217;ve given an idea of what the solution could look like <a href="http://simplexify.net/blog/2011/8/19/what-should-a-modern-research-publishing-platform-look-like.html">here</a>.</em></p>
]]></description><wfw:commentRss>http://simplexify.net/blog/rss-comments-entry-12560527.xml</wfw:commentRss></item><item><title>Let's learn from owls and disrupt the postal service</title><category>INFORMS challenge</category><dc:creator>DC Woods</dc:creator><pubDate>Wed, 29 Jun 2011 04:06:10 +0000</pubDate><link>http://simplexify.net/blog/2011/6/29/lets-learn-from-owls-and-disrupt-the-postal-service.html</link><guid isPermaLink="false">914184:10644811:11951125</guid><description><![CDATA[<p>I wasn&#8217;t going to write an entry for the INFORMS <a href="http://www.informs.org/About-INFORMS/News-Room/INFORMS-Blog/May-Blog-Challenge-Results-O.R.-and-Analytics-Junes-s-Blog-Challenge-O.R.-for-Muggles">June OR blog challenge: &#8220;OR for muggles&#8221;</a> because I couldn&#8217;t think of anything relevant to say, despite having watched all seven of the Harry Potter movies in the last two weeks in preparation for the final installment.  However, <a href="http://iaoreditor.blogspot.com/2011/06/science-of-better-owl-deliveries.html">this blog post</a> started me thinking and I realised that, actually, there is something that&#8217;s been bothering me for a while, and this would be a perfect excuse to have a rant.</p>

<p>In the above-mentioned post, the author considers the owl post system used by the magical folk in the Harry Potter world, and argues that we have much to learn from the owls to &#8220;improve the punctuality and precision of mail services&#8221;.</p>

<p>My reaction to the owl post system was slightly different; I was stuck by how the addressing system works.  The name of the addressee is written on the front of the envelope, and that&#8217;s it!  Instead of having to know <em>where</em> the letter should be delivered, you simply need to know <em>to whom</em> it should be delivered, and the system (the owl) takes care of the location details.  It is ridiculous that we muggles can&#8217;t do this too!</p>

<p>A common theme on the internet these days is &#8220;disruption&#8221;; investors are constantly looking for the next industry to disrupt.  I&#8217;d suggest that the postal industry is archaic and ripe for disruption.</p>

<p>Email works much more like the owl addressing system, and is much more powerful because of it.  I simply write the email address of a contact in the &#8220;to&#8221; field, and the system arranges delivery to the recipient, and he can check and manage his email at his convenience, from a variety of devices.  He can also set up complex handling rules and filters if desired.  </p>

<p>Imagine a service (let&#8217;s call it &#8220;SmartMail&#8221;) where I can register online and be assigned a unique code, which is perhaps my email address or twitter handle.  When I would usually give my postal address, I would instead give my SmartMail id: @DCWoods.</p>

<p>Any mail sent to this id is automatically routed according to rules I specify on the SmartMail website.  Perhaps letters from white-listed businesses I route to my PO Box, packages and hand-written envelopes I route to my home address, unsolicited marketing material I route to the recycling center, and everything else I opt to have scanned and emailed to me.  At any time I can set up rules for redirecting or managing my addresses, I can view my entire mail history, and I can opt in or out of mail from particular businesses.</p>

<p>This sort of system should be relatively simple for postal services to implement. Why haven&#8217;t they? Let&#8217;s consider their incentives.</p>

<p><strong>Misdirected mail</strong>.  I hate to imagine the annual volume and cost of misdirected mail.  Personally, I get more mail for previous occupants of my house than I do for myself. And because when I move I don&#8217;t update my address with everyone I&#8217;ve ever done business with, I&#8217;m sure that my mail is still going to various locations around New Zealand and Australia.  A large proportion of misdirected mail is probably also unwanted or unsolicited; if I am wanting or expecting it I&#8217;m more likely to update my address to continue receiving it.  </p>

<p>I don&#8217;t know the proportion of letters sent that are simply thrown out because they are unwanted or misdirected, but I&#8217;d be willing to bet that it&#8217;s substantial.  <strong>In fact I&#8217;d say that postal services&#8217; business models are based on it.</strong></p>

<p>Let&#8217;s assume that postal services make their money from the volume of letters they deliver, the more letters delivered the more profit. A system like I describe would result in fewer mis-directions. On the face of it this shouldn&#8217;t mean less mail; the same letters will be sent, they will just get to the right people. However, if I start getting mail from every newsletter or business I&#8217;ve ever had contact with - mail that is currently going to my past addresses - I&#8217;m going to start cancelling it. This won&#8217;t hurt the business that was sending me the mail, I wasn&#8217;t reading it anyway, but it will start hurting the postal service. Their profit margins are dependent on misdirected mail that never ends up in the right place but continues to be sent.</p>

<p>It seems very unlikely that existing postal services will sabotage their businesses by implementing a service like this; they are in enough trouble with losing business to email anyway, this would be a nail in their coffin.  And if they were going to do it, they already would have.  Perhaps though there is room for a startup to come into this space with a disruptive service, and steal the remaining profits in physical mail away from the incumbents.</p>

<p>I&#8217;d pay money for a service like this, that scanned most of my mail in and emailed it to me.  I bet companies sending mail would love the extra analytics they could get on how much of their mail is trashed and how much physically delivered.  The only hesitation I have is that it would tend to accelerate the shift away from physical mail at all, and drive businesses towards fully electronic communication.  The more a SmartMail service is successful, the more it destroys its own market.  The question is whether the part that remains is enough to make a worthwhile business.</p>

<p><em>This post is my contribution to the June OR blog challenge.  The Operations Research connection is rather tenuous, but part of the OR mindset is thinking of ways to improve the efficiency of various systems; this isn&#8217;t always formulating models.</em></p>

<p>Update: <a href="http://twitter.com/MrBoJensen">@MrBoJensen</a> has pointed out the <a href="http://www.virtualpostmail.com">virtualpostmail</a> service to me.  This is sort of what I was ranting about, but only available in the US, unfortunately.</p>
]]></description><wfw:commentRss>http://simplexify.net/blog/rss-comments-entry-11951125.xml</wfw:commentRss></item><item><title>Social content discovery is broken but Instapaper could fix it</title><category>content discovery</category><category>instapaper</category><dc:creator>DC Woods</dc:creator><pubDate>Tue, 14 Jun 2011 08:43:07 +0000</pubDate><link>http://simplexify.net/blog/2011/6/14/social-content-discovery-is-broken-but-instapaper-could-fix.html</link><guid isPermaLink="false">914184:10644811:11788515</guid><description><![CDATA[<p><a href="http://www.instapaper.com">Instapaper</a> is a web service that allows you to save articles you find on the web for reading later. It stores these in a list maintained on their servers, and allows you to access it from your browser, or to sync the list with an <a href="http://itunes.apple.com/us/app/instapaper/id288545208?mt=8%3FpartnerId%3D3">iPhone or iPad app</a>. Part of its magic is that it strips out the text and images of the article, ignoring ads and irrelevant page navigation, and presents the article in an optimized reading format. A browser bookmarklet allows you to save an article with one click, even directly from an RSS reader like <a href="http://reader.google.com">Google Reader</a>. It&#8217;s a great experience, and if you have an iPhone or iPad and read even a small amount of material online I suggest you give it a go.</p>

<p>At their recent <a href="http://developer.apple.com/wwdc/about/" title="WWDC">developer conference</a>, Apple announced that a similar feature will be built into their browser, Safari, allowing users to save articles to read later and strip out the relevant material from the cruft. Online speculation immediately decreed that this competing service spells the end of Instapaper. </p>

<p>It&#8217;s creator <a href="http://en.wikipedia.org/wiki/Marco_Arment">Marco Arment</a> has a different take, which he has described on his <a href="http://www.marco.org/2011/06/06/safari-reader-and-instapaper">blog</a>, and discussed on his popular <a href="http://5by5.tv/buildanalyze/28">podcast</a>. He argues that if anything, Apple&#8217;s feature is likely to <em>increase</em> demand for his product. Currently many people are unaware of Instapaper and how great the type of optimized, save-it-for-later, reading experience that he offers is. Being exposed to Apple&#8217;s version will create awareness and whet their appetite for this type of service, and then they will easily be able to find his &#8220;premium&#8221; service in the App Store.</p>

<p>Obviously this argument comes down to him actually offering a better experience than Apple. He gives some examples of why Instapaper is better, such as the &#8220;social&#8221; features he has recently introduced. But while watching Apple&#8217;s <a href="http://www.apple.com/apple-events/wwdc-2011/">demo</a> I was struck that Apple will be ahead with at least with one feature: they automatically extract all the pages of a multi-page article, and join these into a single scrollable page. Instapaper doesn&#8217;t do this yet, and I&#8217;ve been frustrated several times by having to stop partway through a previously-synced article while on a flight.</p>

<p>It occurs to me that one way he could differentiate his product is by doing something clever with content discovery. The current &#8220;social&#8221; features are better than nothing, but don&#8217;t fully utilize the unique nature of Instapaper&#8217;s data. </p>

<p>Currently there is the option to link your Instapaper account to some of the popular social networks: Facebook, Twitter, Tumblr, Pinboard and Evernote. This allows you to share &#8220;liked&#8221; items with your friends on these networks. Pretty standard so far; if I think all of my friends on a network will find something interesting (a suspect assumption, but a common one) I can post it there. This doesn&#8217;t help me find new content on Instapaper though. Those services are too noisy with other information to be a reliable source of interesting articles.</p>

<p>As far as content discovery goes there are two options. I can see articles that have been &#8220;liked&#8221; by my Instapaper friends, or I can look at a list of articles that have been curated by some other editor. Neither of these are very useful. I don&#8217;t <em>have</em> any Instapaper friends. And none of my actual friends or contacts have similar interests to me so I don&#8217;t really care what they&#8217;ve liked. I already follow a number of people I find interesting via RSS and Twitter, and some of their links I save to read later, but Instapaper is offering nothing new here. The &#8220;curated&#8221; lists are even less likely to deliver me things I&#8217;ll find interesting.</p>

<p>The current model for content discovery on the internet is broken.  It is based on the premise that I will be interested in the same articles that are “liked” by my &#8220;friends&#8221;, but I&#8217;m not.  Sure, sometimes I&#8217;ll enjoy something a friend shares, but there is so much noise, I don&#8217;t usually bother looking.  I&#8217;m also a bit of a news-junkie so I&#8217;ve usually already seen it, seen the discussion that sprang up around it, and sometimes seen it discredited.</p>

<p>I suggest that Instapaper has the best data anywhere on what I actually find interesting, and is in a unique position to suggest new content to me.  Consider that Instapaper&#8217;s reading list is already a filtered list of all my other sources.  I subscribe to over 200 RSS feeds that I read in Google Reader, both in my browser and my iPhone.  Most of the items that flow through this are noise that I&#8217;m not interested in, and a very small percentage I save to Instapaper because I think I&#8217;ll actually want to read them.  Very small posts I read in Google, the rest go to Instapaper.  Now, in Instapaper, articles that I find interesting I read all the way to the bottom, and either simply archive (delete) or move to a folder if I may want to find them again later.  Articles that I don&#8217;t find relevant I&#8217;ll possibly read all the way to the bottom and archive, or, more likely, archive without reading all the way.  Instapaper may not collect all of this information, but it could, and it should.</p>

<p>Imagine that there is another person out there that has the same interests as me.  In fact they save most of the same articles to their Instapaper reading list as me.  But every now and then they find an article that I don&#8217;t, an article that I would be interested in.  Why doesn&#8217;t Instapaper suggest this article to me?</p>

<p>A naïve solution might be to suggest this user to me to add as a &#8220;friend&#8221;, but this model is broken too, and reveals the flaws in my scenario above: people rarely have a single field of interest.  Suppose this <a href="http://daringfireball.net" title="Looking at you John Gruber">hypothetical person</a> shares my interest in Apple news and James Bond trivia, but he also likes baseball, which I couldn&#8217;t care less about.  If I started following him then yes, I&#8217;d get some relevant articles, but I&#8217;d also get the baseball noise.  I&#8217;d prefer if some smart service could filter out the articles I&#8217;ll find relevant.</p>

<p>The fact that people have partially overlapping spheres of interest is what makes this a hard problem.  But not impossible.  </p>

<p>Let&#8217;s suppose that instead of one person who shares my interest there are three.  Person A likes Apple news, James Bond trivia, and baseball.  Person B likes Apple news, James Bond trivia, and taxidermy.  Person C likes James Bond trivia and stamp collecting.  If the same article is saved by all three people, its got a high chance of being about James Bond trivia and I will probably find it interesting.  If an article is saved by only one of the people, the chance is lower that it will be about one of my interests.  If its saved by Person A and Person B then the chance is good that it will be about James Bond trivia or Apple news, and interesting to me.  This is a simplified example, but the point is that the more people who have saved something, and have also saved the same articles as me in the past, the higher the probability that I will find it interesting.</p>

<p>This is a difficult problem using &#8220;big data&#8221;, but there are lots of potential ways it could be tackled and improved over time.  Perhaps a simple first effort could use <a href="http://en.wikipedia.org/wiki/Cluster_analysis">cluster analysis</a> on articles to identify distinct &#8220;topics&#8221; that people tend to be interested in.  Each user could be associated with each topic, with a weight based on the number of articles of that topic they&#8217;ve saved. Each article that is saved could be classified as one or more topics based on the known topic-interests of the users that have saved it.  Or perhaps users could be clustered into groups based on the similarity of articles they&#8217;ve saved in the past.  And I could be suggested new articles based on the number of &#8220;similar&#8221; users that have saved it.  I should have a way to mark that an article is irrelevant to me, and the algorithm can use this to adjust its weights.  And my interests may change over time, so there should be a temporal component to the weighting.</p>

<p>The great thing is that the longer I use the service the smarter it should get, and I don&#8217;t need to make an effort to do anything &#8220;social&#8221;, it is all based on my reading habits.</p>

<p>I don&#8217;t know any of the details, but I believe that <a href="http://www.stumbleupon.com/">StumbleUpon</a> must do something like this to suggest content (hopefully in a much more sophisticated way).  They&#8217;ve also managed to figure out how to monetize it, by taking &#8220;sponsored&#8221; content, and figuring out who is most likely to find it interesting.  However, I use StumbleUpon when I want some mindless distraction, I use Instapaper for the opposite type of distraction, and I&#8217;m much more engaged with the content.</p>

<p>I love Instapaper as a service, and I&#8217;m a fan of Marco&#8217;s <a href="http://www.marco.org">blog</a> and <a href="http://5by5.tv/buildanalyze">podcast</a>.  I&#8217;d love it even more if it could intelligently suggest content to match my interests.</p>
]]></description><wfw:commentRss>http://simplexify.net/blog/rss-comments-entry-11788515.xml</wfw:commentRss></item></channel></rss>