<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>statistics &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/statistics/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Wed, 18 Mar 2026 08:55:15 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>statistics &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[How many hours do you need to work to afford a pint of beer?]]></title>
		<link>https://shkspr.mobi/blog/2026/03/how-many-hours-do-you-need-to-work-to-afford-a-pint-of-beer/</link>
					<comments>https://shkspr.mobi/blog/2026/03/how-many-hours-do-you-need-to-work-to-afford-a-pint-of-beer/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 04 Mar 2026 12:34:22 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=67114</guid>

					<description><![CDATA[I dropped into a pub in central London and ordered two pints of draught beer. Obviously the price of everything is nuts these days - and doubly so in London - so I only winced a little bit when the cost came to about twelve quid. Shocking, obviously. But as we supped on our pints and discussed the state of the world, I tried to remember how expensive it was to have a pint when I was a lad young…]]></description>
										<content:encoded><![CDATA[<p>I dropped into a pub in central London and ordered two pints of draught beer. Obviously the price of everything is nuts these days - and doubly so in London - so I only winced a little bit when the cost came to about twelve quid. Shocking, obviously. But as we supped on our pints and discussed the state of the world, I tried to remember how expensive it was to have a pint when I was a <del>lad</del> young man.</p>

<p>I seem to recall that our student pub charged about £2 per pint. And minimum wage around that time was £4 per hour. So a drink was 30 minutes' wages.</p>

<p>Today the minimum wage is about £12 and that pint cost me £6. So, again, about half an hour.</p>

<p>But the human memory is fickle! Let's get some actual historical data.</p>

<p>The UK's Office for National Statistics maintains a dataset of <a href="https://www.ons.gov.uk/economy/inflationandpriceindices/timeseries/czms/mm23">historic draught lager prices</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/01/Draught-lager-per-pint.webp" alt="Graph showing a gentle rise in the cost of draught beer." width="1368" height="573" class="aligncenter size-full wp-image-67116">

<p>Well, my memory wasn't <em>too</em> hazy! About £2 when I was at uni. The national average price now is about a fiver - so the London premium wasn't <em>too</em> outrageous.</p>

<p>But how does that compare to wages? The <a href="https://assets.publishing.service.gov.uk/media/5c9e0e72e5274a527faae38a/20_years_of_the_National_Minimum_Wage_-_a_history_of_the_UK_minimum_wage_and_its_effects.pdf">history of the minimum wage</a> is complicated - with several different bands being introduced. It ends up looking something like this:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/01/minwage.webp" alt="Graph showing step changes in wages for different age groups." width="1800" height="600" class="aligncenter size-full wp-image-67115">

<p>So I <a href="https://researchbriefings.files.parliament.uk/documents/CBP-7735/CBP-7735.pdf">grabbed the most recent data</a> and plotted the ratio between the cost of draught lager and minimum wage:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/01/ratio.webp" alt="Graph showing ratios of cost of lager vs minimum wage." width="782" height="398" class="aligncenter size-full wp-image-67117">

<p>Ah! It turns out that the cost of beer as a ratio to minimum wage is pretty consistent - somewhere between 27 to 40 minutes. Right now, draught lager is <em>cheaper</em> in terms of minimum wage than it has <em>ever</em> been!</p>

<p>Obviously, averages hide all sorts of sins. I'm sure your favourite brand of premium Bohemian pilsner has dramatically risen in price. And minimum wage doesn't necessarily mean disposable income. And you now have a student loan repayment rather than cash being dropped into your account. And the music they play in pubs is crap these days. And you back hurts ever since you tried to match your younger team members pint for pint and slipped in a puddle of your own sick.</p>

<p>Remember, nostalgia is actively dangerous to your mental health.</p>

<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:eqh433fdh2bqhvt455e3tg67/app.bsky.feed.post/3m7bh3vii722h" data-bluesky-cid="bafyreif34a63kld5xgjhia2qpcvea3lehqutpll4yqpim554ilfx6noi34"><p lang="en">has anyone else noticed that food tasted better in the past? it was mushy and easy to eat. and the spoon would come at you like an airplane</p>— <a href="https://bsky.app/profile/did:plc:eqh433fdh2bqhvt455e3tg67?ref_src=embed">leon (@leyawn.bsky.social)</a> <a href="https://bsky.app/profile/did:plc:eqh433fdh2bqhvt455e3tg67/post/3m7bh3vii722h?ref_src=embed">2025-12-05T21:38:21.731Z</a></blockquote>

<script async="" src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=67114&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/03/how-many-hours-do-you-need-to-work-to-afford-a-pint-of-beer/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Now witness the power of this fully operational Fediverse!]]></title>
		<link>https://shkspr.mobi/blog/2025/11/now-witness-the-power-of-this-fully-operational-fediverse/</link>
					<comments>https://shkspr.mobi/blog/2025/11/now-witness-the-power-of-this-fully-operational-fediverse/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 23 Nov 2025 12:34:35 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[ActivityPub]]></category>
		<category><![CDATA[BlueSky]]></category>
		<category><![CDATA[fediverse]]></category>
		<category><![CDATA[mastodon]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=63716</guid>

					<description><![CDATA[How can you measure the popularity of a social network site? Perhaps by counting the number of active accounts, or the quality of the discourse, or even how many people reply to your witty memes.  Me? I prefer to look at how many people visit my blog from each site. It is an imperfect measure - and a vain one - but lets me know where I should be spending my time. No point posting on a network…]]></description>
										<content:encoded><![CDATA[<p>How can you measure the popularity of a social network site? Perhaps by counting the number of active accounts, or the quality of the discourse, or even how many people reply to your witty memes.</p>

<p>Me? I prefer to look at how many people visit my blog from each site. It is an imperfect measure - and a vain one - but lets me know where I should be spending my time. No point posting on a network which is just bots talking to each other, right?</p>

<p>Earlier this year <a href="https://shkspr.mobi/blog/2025/09/reasonably-accurate-privacy-conscious-cookieless-visitor-tracking-for-wordpress/">I built a stats-counter for my blog</a>. Every time someone clicks from a website which links to my blog, it records that visit in a database. I get to see which blog posts are doing numbers, and where those numbers came from.</p>

<p>Until fairly recently, the Mastodon social network didn't send referer details. I thought that reduced the visibility of the network and <a href="https://shkspr.mobi/blog/2024/12/mastodon-now-sends-referer-headers-hurrah/">lobbied for it to change</a>. As various Mastodon servers upgrade, and admins opt-in, it is becoming more apparent just how much traffic originates from the Fediverse.</p>

<p>Over the last few weeks, here's how many people have clicked <em>from</em> BlueSky and Mastodon <em>to</em> one of my blog posts.</p>

<table class="edent_stats_column"><thead><tr><th class="totals">Total</th><th>Source</th></tr></thead><tbody>
<tr><td class="stats-count">1,607</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=bsky.app"><a href="https://bsky.app">bsky.app</a></td></tr>
<tr><td class="stats-count">752</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mastodon.social"><a href="https://mastodon.social">mastodon.social</a></td></tr>
</tbody></table>

<p>At first glance, it doesn't look good for our elephantine friends, does it? The butterfly sends over twice the traffic. Game over!</p>

<p>But, of course, while Mastodon.social is the biggest instance - it is far from the only one. What happens if we slide down the long tail? Here's all the Mastodon-ish instances which sent me over 10 clicks.</p>

<table class="edent_stats_column"><thead><tr><th class="totals">Total</th><th>Source</th></tr></thead><tbody>
<tr><td class="stats-count">193</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=phanpy.social"><a href="https://phanpy.social">phanpy.social</a></td></tr>
<tr><td class="stats-count">120</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=joinmastodon.org"> android-app://org.joinmastodon.android/</td></tr>
<tr><td class="stats-count">106</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=infosec.exchange"><a href="https://infosec.exchange">infosec.exchange</a></td></tr>
<tr><td class="stats-count">62</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mas.to"><a href="https://mas.to">mas.to</a></td></tr>
<tr><td class="stats-count">59</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mstdn.social"><a href="https://mstdn.social">mstdn.social</a></td></tr>
<tr><td class="stats-count">55</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=social.vivaldi.net"><a href="https://social.vivaldi.net">social.vivaldi.net</a></td></tr>
<tr><td class="stats-count">49</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=wandering.shop"><a href="https://wandering.shop">wandering.shop</a></td></tr>
<tr><td class="stats-count">48</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=fosstodon.org"><a href="https://fosstodon.org">fosstodon.org</a></td></tr>
<tr><td class="stats-count">33</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mathstodon.xyz"><a href="https://mathstodon.xyz">mathstodon.xyz</a></td></tr>
<tr><td class="stats-count">27</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mastodon.online"><a href="https://mastodon.online">mastodon.online</a></td></tr>
<tr><td class="stats-count">26</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mastodon.scot"><a href="https://mastodon.scot">mastodon.scot</a></td></tr>
<tr><td class="stats-count">24</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=app.wafrn.net"><a href="https://app.wafrn.net">app.wafrn.net</a></td></tr>
<tr><td class="stats-count">19</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=indieweb.social"><a href="https://indieweb.social">indieweb.social</a></td></tr>
<tr><td class="stats-count">18</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=social.lol"><a href="https://social.lol">social.lol</a></td></tr>
<tr><td class="stats-count">17</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=tech.lgbt"><a href="https://tech.lgbt">tech.lgbt</a></td></tr>
<tr><td class="stats-count">17</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=toot.wales"><a href="https://toot.wales">toot.wales</a></td></tr>
<tr><td class="stats-count">16</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=en.osm.town"><a href="https://en.osm.town">en.osm.town</a></td></tr>
<tr><td class="stats-count">16</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=feditrends.com"><a href="https://feditrends.com">feditrends.com</a></td></tr>
<tr><td class="stats-count">14</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mstdn.ca"><a href="https://mstdn.ca">mstdn.ca</a></td></tr>
<tr><td class="stats-count">14</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=piefed.social"><a href="https://piefed.social">piefed.social</a></td></tr>
<tr><td class="stats-count">12</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=wetdry.world"><a href="https://wetdry.world">wetdry.world</a></td></tr>
<tr><td class="stats-count">11</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=c.im"><a href="https://c.im">c.im</a></td></tr>
<tr><td class="stats-count">11</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mastodon.nl"><a href="https://mastodon.nl">mastodon.nl</a></td></tr>
<tr><td class="stats-count">51</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=mastodon.social"> Sites sending &lt; 10 clicks</td></tr>
</tbody></table>

<p>Ah! Add them all up and you get a grand total of <strong>1,773 visitors from Mastodon-powered sites</strong>.  That's <em>more</em> than BlueSky.</p>

<p>Now, there are some obvious caveats to the data:</p>

<ul>
<li>I have a smaller follower count on BlueSky than I do on Mastodon.</li>
<li>My posts may appeal more to one demographic than another.</li>
<li>People may have strict privacy controls which suppress the true volume of visitors.</li>
<li>There's no way to measure how long someone spends reading my posts.</li>
<li>RSS and newsletter visitors aren't counted.</li>
<li>Clicks from apps may not always show a referer.</li>
<li>Some people may be on multiple services.</li>
<li>Fediverse users can follow the post directly, so don't need to visit the site to read it.</li>
</ul>

<p>And yet… no matter how you slice it, Fediverse servers are sending as much traffic as BlueSky!</p>

<p>I think this is brilliant. Web services should be able to scale from small to big - and each ActivityPub-powered site helps power the open Internet.</p>

<p>Just for completeness, this is how Reddit, Facebook, LinkedIn, Twitter, and Lemmy do over the same period:</p>

<table class="edent_stats_column"><thead><tr><th class="totals">Total</th><th>Source</th></tr></thead><tbody>
<tr><td class="stats-count">1,158</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=reddit.com"><a href="https://reddit.com">reddit.com</a></td></tr>
<tr><td class="stats-count">585</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=reddit.com"> android-app://com.reddit.frontpage/</td></tr>
<tr><td class="stats-count">76</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=facebook.com"><a href="https://facebook.com">facebook.com</a></td></tr>
<tr><td class="stats-count">76</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=old.reddit.com"><a href="https://old.reddit.com/r/programming/">https://old.reddit.com/r/programming/</a></td></tr>
<tr><td class="stats-count">56</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=www.reddit.com"><a href="https://www.reddit.com/r/programming/">https://www.reddit.com/r/programming/</a></td></tr>
<tr><td class="stats-count">52</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=youtube.com"><a href="https://youtube.com">youtube.com</a></td></tr>
<tr><td class="stats-count">41</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=t.co"><a href="https://t.co">t.co</a></td></tr>
<tr><td class="stats-count">38</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=old.reddit.com"><a href="https://old.reddit.com/r/todayilearned/comments/1nsw7f4/til_in_mongolia_instead_of_a_street_address_a/">https://old.reddit.com/r/todayilearned/comments/1nsw7f4/til_in_mongolia_instead_of_a_street_address_a/</a></td></tr>
<tr><td class="stats-count">31</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=linkedin.com"><a href="https://linkedin.com">linkedin.com</a></td></tr>
<tr><td class="stats-count">27</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=lemmy.world"> android-app://io.syncapps.lemmy_sync/</td></tr>
<tr><td class="stats-count">27</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=www.reddit.com"><a href="https://www.reddit.com/r/todayilearned/comments/1nsw7f4/til_in_mongolia_instead_of_a_street_address_a/">https://www.reddit.com/r/todayilearned/comments/1nsw7f4/til_in_mongolia_instead_of_a_street_address_a/</a></td></tr>
<tr><td class="stats-count">22</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=old.reddit.com"><a href="https://old.reddit.com/r/programming/comments/1n96ftn/40_years_later_are_bentleys_programming_pearls/">https://old.reddit.com/r/programming/comments/1n96ftn/40_years_later_are_bentleys_programming_pearls/</a></td></tr>
<tr><td class="stats-count">22</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=lemmy.ca"><a href="https://lemmy.ca">lemmy.ca</a></td></tr>
<tr><td class="stats-count">17</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=linkedin.com"> android-app://com.linkedin.android/</td></tr>
<tr><td class="stats-count">16</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=lemmy.dbzer0.com"><a href="https://lemmy.dbzer0.com">lemmy.dbzer0.com</a></td></tr>
<tr><td class="stats-count">14</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=feddit.org"><a href="https://feddit.org">feddit.org</a></td></tr>
<tr><td class="stats-count">11</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=www.reddit.com"><a href="https://www.reddit.com/r/programming/comments/1n96ftn/40_years_later_are_bentleys_programming_pearls/">https://www.reddit.com/r/programming/comments/1n96ftn/40_years_later_are_bentleys_programming_pearls/</a></td></tr>
<tr><td class="stats-count">10</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=discuss.tchncs.de"><a href="https://discuss.tchncs.de">discuss.tchncs.de</a></td></tr>
<tr><td class="stats-count">10</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=l.instagram.com"><a href="https://l.instagram.com">l.instagram.com</a></td></tr>
<tr><td class="stats-count">8</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=lemmy.blahaj.zone"><a href="https://lemmy.blahaj.zone">lemmy.blahaj.zone</a></td></tr>
<tr><td class="stats-count">6</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=www.reddit.com"><a href="https://www.reddit.com/r/GrapheneOS/comments/1m2l84b/considering_making_the_switch_does_google_pay/">https://www.reddit.com/r/GrapheneOS/comments/1m2l84b/considering_making_the_switch_does_google_pay/</a></td></tr>
<tr><td class="stats-count">6</td><td><img class="pingback-favicon" src="https://shkspr.mobi/favicons/?domain=reddthat.com"><a href="https://reddthat.com">reddthat.com</a></td></tr>
</tbody></table>

<p>If you add up all the Lemmy instances, they send about as much traffic as Facebook and LinkedIn combined. That's not a huge surprise - those platforms hate anyone clicking away to the wider web.</p>

<p>Twitter is basically <a href="https://en.wikipedia.org/wiki/Dead_Internet_theory">the Dead Internet</a>. I'm no longer on there, but I do occasionally search it to see who is sharing my posts. The popular posts I write get shared a <em>lot</em> - sometimes by accounts with huge followers - yet there are no comments or retweets and barely and clicks.</p>

<p>I don't do Instagram or Threads, and that might be reflected in their low numbers. But I'm not active on YouTube either - yet people there occasionally link back to me.</p>

<h2 id="final-thoughts"><a href="https://shkspr.mobi/blog/2025/11/now-witness-the-power-of-this-fully-operational-fediverse/#final-thoughts">Final Thoughts</a></h2>

<p>Firstly, my stats only represent my site. Your site might be very different.</p>

<p>Secondly, I've ignored search engine traffic, big blogs, newsletters, and other sources.</p>

<p>Thirdly, and most importantly, this <em>isn't</em> a competition! The desire for a "winner-takes-all" service is dangerous and disturbing. An ecosystem is at its most vibrant when there are multiple participants each thriving in their own niche.</p>

<p>I want a thousand sites, running a hundred different software stacks, some of which only serve a dozen people, or even a lone participant.</p>

<p>Diversity is strength.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=63716&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/11/now-witness-the-power-of-this-fully-operational-fediverse/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[How bad is link-rot on my blog?]]></title>
		<link>https://shkspr.mobi/blog/2024/12/how-bad-is-link-rot-on-my-blog/</link>
					<comments>https://shkspr.mobi/blog/2024/12/how-bad-is-link-rot-on-my-blog/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 27 Dec 2024 12:34:35 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=55120</guid>

					<description><![CDATA[I read this brilliant blog post by Wouter Groeneveld looking at how many dead links there were on his blog. I thought I&#039;d try something similar.  What is a broken link?  Every day, I look at the On This Day page of my blog and look at that day&#039;s historic posts. I click on every link to see if it is still working. If it isn&#039;t, I have a few options.   If the site is working, but the content has…]]></description>
										<content:encoded><![CDATA[<p>I read <a href="https://brainbaking.com/post/2024/12/how-bad-is-link-rot-at-brain-baking/">this brilliant blog post by Wouter Groeneveld</a> looking at how many dead links there were on his blog. I thought I'd try something similar.</p>

<h2 id="what-is-a-broken-link"><a href="https://shkspr.mobi/blog/2024/12/how-bad-is-link-rot-on-my-blog/#what-is-a-broken-link">What is a broken link?</a></h2>

<p>Every day, I look at the <a href="https://shkspr.mobi/blog/on-this-day/">On This Day</a> page of my blog and look at that day's historic posts. I click on every link to see if it is still working. If it isn't, I have a few options.</p>

<ol>
<li>If the site is working, but the content has moved, I change the link to point at the content.</li>
<li>If the site is dead, or the content isn't there, I stick the URl into <a href="https://web.archive.org/">the WayBack Machine</a> and pick the archive closest to the publication date.</li>
<li>If the archive doesn't have it, I try to find a link from around the same date and point it to that.</li>
<li>If not, I remove the link.</li>
</ol>

<p>Why don't I just cURL the URl and see if it responds with a 2xx HTTP code?</p>

<p>I used to use an automated checker to test my links. But spam sites lie. Lots of the dead sites have been taken over by scammers, spammers, and AI grifters. They return an HTTP OK and then serve up advertising. Yeuch! So now I spend each morning <a href="https://shkspr.mobi/blog/2024/10/tending-to-my-digital-garden/">Tending To My Digital Garden</a> and manually checking the links.</p>

<p>So, let's scan through every link within my blog posts and see which ones have been archived.</p>

<h2 id="results"><a href="https://shkspr.mobi/blog/2024/12/how-bad-is-link-rot-on-my-blog/#results">Results</a></h2>

<p>Here's a stacked chart showing blog posts from 2008 until today:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/12/Archived-Links.png" alt="Stacked Bar Chart." width="953" height="590" class="aligncenter size-full wp-image-55121">

<p>And, if you prefer percentages, here's another chart:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/12/Percentage-vs-Year-fs8.png" alt="Line chart showing percentages." width="953" height="590" class="aligncenter size-full wp-image-55122">

<p>Rather unsurprisingly, the older posts have the most link-rot.</p>

<p>Here's the data if you want to play with it yourself:</p>

<pre><code class="language-csv">Year,Total,Archives
2008,159,27
2009,1335,156
2010,1166,91
2011,1130,85
2012,1392,98
2013,1889,84
2014,1858,35
2015,3016,43
2016,2274,37
2017,1309,17
2018,1561,25
2019,1580,18
2020,3362,33
2021,3621,40
2022,2904,22
2023,2358,15
2024,2136,19
</code></pre>

<h2 id="deficiencies"><a href="https://shkspr.mobi/blog/2024/12/how-bad-is-link-rot-on-my-blog/#deficiencies">Deficiencies</a></h2>

<p>There will be some links that I haven't spotted. There will be dead links in review metadata and in comments. My code might not have accounted for some weird edge cases in the HTML.</p>

<p>But, generally, it should be a roughly accurate assessment.</p>

<h2 id="generating-the-data"><a href="https://shkspr.mobi/blog/2024/12/how-bad-is-link-rot-on-my-blog/#generating-the-data">Generating the data</a></h2>

<p>Using the <a href="https://developer.wordpress.org/cli/commands/cli/">WP CLI</a>, this can be run with <code>wp eval-file archive.php</code>:</p>

<pre><code class="language-php">&lt;?php
//  Load the WordPress environment
require_once( "wp-load.php" );

//  Loop through the desired years
for ( $year = 2008; $year &lt;= 2024; $year++ ) {
        //  Initialise the counters
        $total_links   = 0;
        $archive_links = 0;

        //  Get all the published posts for that year
        $posts = get_posts( [
            "date_query" =&gt; [
                [ "year" =&gt; $year, ],
            ],
            "post_type"   =&gt; "post",
            "post_status" =&gt; "publish",
            "numberposts" =&gt; -1,
        ] );

        //  Loop through each post
        foreach ( $posts as $post ) {
            $ID = $post-&gt;ID;

            //  Render the content of the post
            $content = apply_filters( "the_content", get_the_content( null, false, $ID ) );

            //  Count total occurrences of "&lt;a href="
            preg_match_all( '/&lt;a href=/i', $content, $matches );
            $total_links += count( $matches[0] );

            //  Count total occurrences of "&lt;a href=" which contain "archive.org"
            preg_match_all( '/&lt;a href=["\'][^"\']*archive.org/i', $content, $archive_matches );
            $archive_links += count( $archive_matches[0] );
        }

    //  Display the results as CSV
    echo "{$year},";
    echo "{$total_links},";
    echo "{$archive_links}\n";
}
</code></pre>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=55120&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/12/how-bad-is-link-rot-on-my-blog/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Import JetPack Statistics into Koko]]></title>
		<link>https://shkspr.mobi/blog/2024/10/import-jetpack-statistics-into-koko/</link>
					<comments>https://shkspr.mobi/blog/2024/10/import-jetpack-statistics-into-koko/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 18 Oct 2024 11:34:10 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Koko Analytics]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=53483</guid>

					<description><![CDATA[I&#039;ve quit JetPack stats. I&#039;ve moved to Koko Analytics. All the stats code is self hosted, it is privacy preserving, and the codebase is small and simple.  But I am vain. I want all my old JetPack stats to appear in Koko so I can look back on the glory days of blogging.  Koko has two main tables.  The first is a summary table called wpbp_koko_analytics_site_stats :       date   visitors  …]]></description>
										<content:encoded><![CDATA[<p>I've <a href="https://shkspr.mobi/blog/2024/10/liberate-your-daily-statistics-from-jetpack/">quit JetPack stats</a>. I've moved to <a href="https://www.kokoanalytics.com/">Koko Analytics</a>. All the stats code is self hosted, it is privacy preserving, and the codebase is small and simple.</p>

<p>But I am vain. I want all my old JetPack stats to appear in Koko so I can look back on the glory days of blogging.</p>

<p>Koko has two main tables.  The first is a summary table called <code>wpbp_koko_analytics_site_stats</code> :</p>

<table>
<thead>
<tr>
  <th align="center">date</th>
  <th align="center">visitors</th>
  <th align="center">pageviews</th>
</tr>
</thead>
<tbody>
<tr>
  <td align="center">2009-10-30</td>
  <td align="center">25</td>
  <td align="center">47</td>
</tr>
<tr>
  <td align="center">2009-10-31</td>
  <td align="center">70</td>
  <td align="center">86</td>
</tr>
<tr>
  <td align="center">2009-11-01</td>
  <td align="center">61</td>
  <td align="center">72</td>
</tr>
</tbody>
</table>

<p>That's the total number of visitors and page views for each date.</p>

<p>Then there's a more detailed breakdown at <code>wpbp_koko_analytics_post_stats</code></p>

<table>
<thead>
<tr>
  <th align="center">date</th>
  <th align="center">id</th>
  <th align="center">visitors</th>
  <th align="center">pageviews</th>
</tr>
</thead>
<tbody>
<tr>
  <td align="center">2009-10-30</td>
  <td align="center">123</td>
  <td align="center">2</td>
  <td align="center">2</td>
</tr>
<tr>
  <td align="center">2009-10-30</td>
  <td align="center">456</td>
  <td align="center">5</td>
  <td align="center">6</td>
</tr>
<tr>
  <td align="center">2009-10-30</td>
  <td align="center">789</td>
  <td align="center">1</td>
  <td align="center">1</td>
</tr>
</tbody>
</table>

<p>That shows every individual post's number of views and visitors per day.</p>

<p>WordPress's database is MySQL. It can handle CSV imports. So, given these tables are pretty simple, it is possible to get the old WordPress stats, convert them to CSV, and then import them.</p>

<p>Let's go!</p>

<p>As described <a href="https://shkspr.mobi/blog/2024/10/liberate-your-daily-statistics-from-jetpack/">in a previous post</a>, the JetPack stats API is fairly basic. It doesn't differentiate between visitors and pageviews. So, for this import, we'll pretend they're the same.</p>

<p>This will be a 4 step process.</p>

<h2 id="1-get-all-your-stats-in-json-format"><a href="https://shkspr.mobi/blog/2024/10/import-jetpack-statistics-into-koko/#1-get-all-your-stats-in-json-format">1. Get all your stats in JSON format</a></h2>

<p>This code loops through your stats and downloads a JSON file for each one.</p>

<p>You will need:</p>

<ul>
<li>Your API key - find it at <a href="https://apikey.wordpress.com/">https://apikey.wordpress.com/</a></li>
<li>Your blog's web address - I assume you know this</li>
<li>The earliest date you have for JetPack - you will need to find this yourself</li>
</ul>

<pre><code class="language-python">import requests
import datetime
import os
import json

# Directory to save the JSON files
save_dir = "jetpack_stats"
os.makedirs(save_dir, exist_ok=True)

# URL of the API
base_url = "https://stats.wordpress.com/csv.php?api_key=123456789012"+\
           "&amp;blog_uri=https://example.com/"+\
           "&amp;table=postviews"+\
           "&amp;days=1"+\
           "&amp;format=json"+\
           "&amp;limit=-1"+\
           "&amp;end="

# Make API call and save the response
def fetch_and_save_json(date):
    # Format the date as ISO8601 (YYYY-MM-DD)
    formatted_date = date.isoformat()

    # Make the API call
    url = f"{base_url}{formatted_date}"
    response = requests.get(url)

    if response.status_code == 200:
        data = response.json()
        file_name = f"{formatted_date}.json"
        file_path = os.path.join(save_dir, file_name)
        with open(file_path, "w") as f:
            json.dump(data, f, indent=4)

        print(f"Saved {formatted_date}")
    else:
        print(f"Failed! {formatted_date} status code: {response.status_code}")

# Iterate over a date range
start_date = datetime.date(2020,  1 , 1)
end_date   = datetime.date(2024, 10, 30)

# Loop through all dates 
current_date = start_date
while current_date &lt;= end_date:
    fetch_and_save_json(current_date)
    current_date += datetime.timedelta(days=1)
</code></pre>

<h2 id="2-generate-the-individual-posts-stats"><a href="https://shkspr.mobi/blog/2024/10/import-jetpack-statistics-into-koko/#2-generate-the-individual-posts-stats">2. Generate The Individual Posts' Stats</a></h2>

<p>This takes those JSON files and creates a single CSV ready to upload to <code>wpbp_koko_analytics_post_stats</code>.</p>

<pre><code class="language-python">import os
import json
import csv

# Directory where the JSON files are stored
json_dir = "jetpack_stats"

# List to hold the loaded data
all_data = []

json_files = sorted( [ file for file in os.listdir( json_dir ) if file.endswith( ".json" ) ] )

# Loop through all files in the directory
for file_name in json_files :
    if file_name.endswith( ".json" ) :
        file_path = os.path.join(json_dir, file_name)
        with open(file_path, "r") as json_file :
            data = json.load(json_file)
            all_data.append(data)  # Add the data to the list

print(f"Total files loaded: {len(all_data)}")
with open( "wpbp_koko_analytics_post_stats.csv", "w", newline="") as csvfile:
    csvwriter = csv.writer( csvfile, delimiter="," )
    for stat in all_data:
        for views in stat[0]["postviews"] :
            csvwriter.writerow( [ stat[0]["date"], views["post_id"], views["views"], views["views"] ] )
</code></pre>

<h2 id="3-generate-the-total-site-views"><a href="https://shkspr.mobi/blog/2024/10/import-jetpack-statistics-into-koko/#3-generate-the-total-site-views">3. Generate the total site views</a></h2>

<p>It <em>is</em> possible to get this separately from the JetPack API using <code>&amp;table=views</code> - but that's a lot more API calls. So we're just going to sum it up instead 😄</p>

<p>This, again, inserts a dummy value for visitors.</p>

<pre><code class="language-python">import pandas as pd

input_csv  = "wpbp_koko_analytics_post_stats.csv"
output_csv = "wpbp_koko_analytics_site_stats.csv"

column_names = ['Date', 'Post ID', 'Visitors', 'Page Views']
df = pd.read_csv( input_csv, names=column_names )

# Group by Date and sum the Page Views
df_grouped = df.groupby( "Date" )["Page Views"].sum().reset_index()

# Add a new column with a copy of the Page Views
df_grouped['Visitors'] = df_grouped['Page Views']

# Rename the Page Views column to Total Page Views
df_grouped = df_grouped.rename(columns={"Page Views": "Total Page Views"})

# Write the dataframe to the output CSV file
df_grouped.to_csv( output_csv, index=False,  header=False )
</code></pre>

<h2 id="4-upload-to-mysql"><a href="https://shkspr.mobi/blog/2024/10/import-jetpack-statistics-into-koko/#4-upload-to-mysql">4. Upload to MySQL</a></h2>

<p>You're on your own here, Sparky. If you have something like PHPMyAdmin, you should be able to load the file in directly. Anything else… good luck!</p>

<p>Once done, your stats dashboard should be filled with historic data.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/10/koko-fs8.png" alt="Graph showing page views over time." width="1024" height="455" class="aligncenter size-full wp-image-53490">

<p>Huge thanks to <a href="https://www.kokoanalytics.com/">Koko Analytics</a> for providing such a great tool and answering my questions.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=53483&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/10/import-jetpack-statistics-into-koko/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Is "Dollar Cost Averaging" a Bad Idea?]]></title>
		<link>https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/</link>
					<comments>https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 15 Aug 2024 11:34:50 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[finance]]></category>
		<category><![CDATA[money]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=51225</guid>

					<description><![CDATA[It&#039;s sometimes useful to run experiments yourself, isn&#039;t it?  New investors are often told that, when investing for the long term rather than chasing individual stocks, it is better to be invested for the longest possible time rather than trying to do &#34;dollar cost averaging&#34;.  DCA is the process of spreading out over time the purchasing of your investments. That way, you don&#039;t lose it all if the…]]></description>
										<content:encoded><![CDATA[<p>It's sometimes useful to run experiments yourself, isn't it?</p>

<p>New investors are often told that, when investing for the long term rather than chasing individual stocks, it is better to be invested for the longest possible time rather than trying to do "dollar cost averaging".  DCA is the process of spreading out over time the purchasing of your investments. That way, you don't lose it all if the market drops the day after you invest.</p>

<p>Let me explain...</p>

<p>Imagine that it is 1994 and your rich uncle, Scrooge McDuck, has decided to gift you $1,200 per year. How generous!</p>

<p>He has stipulated that you must invest it in the S&amp;P 500 - that's the top 500 companies in the world<sup id="fnref:fin"><a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#fn:fin" class="footnote-ref" title="OK, it is a bit more complicated than that. This blog is not financial advice, OK?" role="doc-noteref">0</a></sup>.</p>

<p>He gives you two choices:</p>

<ul>
<li>Put $1,200 in on the 1st of January every year.</li>
<li>Put $100 in on the 1st of the month every year.</li>
</ul>

<p>How much money do you make in each scenario?</p>

<h2 id="get-the-data"><a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#get-the-data">Get The Data</a></h2>

<p>Kaggle has a download for <a href="https://www.kaggle.com/datasets/gkitchen/s-and-p-500-spy">the historic S&amp;P 500 data</a>. It goes from 1993 to 2024.</p>

<p>The data looks like this:</p>

<table>
<thead>
<tr>
  <th>Date</th>
  <th align="right">Open</th>
  <th align="right">High</th>
  <th align="right">Low</th>
  <th align="right">Close</th>
  <th align="right">Volume</th>
  <th align="right">Day</th>
  <th align="right">Weekday</th>
  <th align="right">Week</th>
  <th align="right">Month</th>
  <th align="right">Year</th>
</tr>
</thead>
<tbody>
<tr>
  <td>29/01/93</td>
  <td align="right">24.70</td>
  <td align="right">24.70</td>
  <td align="right">24.58</td>
  <td align="right">24.68</td>
  <td align="right">1003200</td>
  <td align="right">29</td>
  <td align="right">4</td>
  <td align="right">4</td>
  <td align="right">1</td>
  <td align="right">1993</td>
</tr>
<tr>
  <td>01/02/93</td>
  <td align="right">24.70</td>
  <td align="right">24.86</td>
  <td align="right">24.70</td>
  <td align="right">24.86</td>
  <td align="right">480500</td>
  <td align="right">1</td>
  <td align="right">0</td>
  <td align="right">5</td>
  <td align="right">2</td>
  <td align="right">1993</td>
</tr>
<tr>
  <td>02/02/93</td>
  <td align="right">24.84</td>
  <td align="right">24.93</td>
  <td align="right">24.79</td>
  <td align="right">24.91</td>
  <td align="right">201300</td>
  <td align="right">2</td>
  <td align="right">1</td>
  <td align="right">5</td>
  <td align="right">2</td>
  <td align="right">1993</td>
</tr>
<tr>
  <td>03/02/93</td>
  <td align="right">24.95</td>
  <td align="right">25.19</td>
  <td align="right">24.93</td>
  <td align="right">25.18</td>
  <td align="right">529400</td>
  <td align="right">3</td>
  <td align="right">2</td>
  <td align="right">5</td>
  <td align="right">2</td>
  <td align="right">1993</td>
</tr>
</tbody>
</table>

<h2 id="experiment-1-time-in-the-market"><a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#experiment-1-time-in-the-market">Experiment 1 - Time In The Market</a></h2>

<p>Here's the algorithm we want to run.</p>

<ol>
<li>Start in 1994</li>
<li>Set the investment as 1200</li>
<li>Get the Opening price of the first entry of the year</li>
<li>Get the Closing price of the last entry of the year</li>
<li>Calculate the percentage difference</li>
<li>Multiply the investment by the growth / fall</li>
<li>Add 1200 to the investment</li>
<li>Repeat from (3) for the next year.</li>
</ol>

<p>Here's the code. I've made some assumptions - for example there are no trading fees, you buy at the opening price, and fractional dollars disappear.  I'm aware this doesn't track perfectly but it isn't intended to; this is a rough and ready reckoner.</p>

<details>
<summary>Open for Python Code</summary>

<pre><code class="language-python">import numpy as np
import locale

#   Set for American currency
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' )

#   Location of the data
file_path = 'data.csv'

#   Load CSV into a NumPy array
data = np.genfromtxt(file_path, delimiter=',', names=True, dtype=None, encoding='utf-8')

# Count the number of unique years
unique_years = 0

#   Total investment
total_investment = 0

#   Yearly investment
yearly_cash = 1200

#   Start with an opening of 0
opening = 0

#   Loop through the years
for year in range( 1994, 2024 ):
    #   Add our yearly amount
    total_investment += yearly_cash

    #   Get data for the current year
    data_year = data[data['Year'] == year]

    #   Opening Price
    if ( 0 == opening ) :
        opening = data_year['Open'][0]

    #   Closing Price
    closing = data_year['Close'][-1]

    #   Percentage Change
    change = ( closing - opening) / opening
    movement = "✅ +" if change &gt; 0 else "❌ -"

    #   Calculate change in investment
    total_investment = int( (1 + change) * total_investment )

    #   Print the running total
    print ( f"{movement}{abs(change*100):05.2f}% {year} Total investment is " + locale.currency( total_investment, grouping=True ) )

    #   Set the new opening price
    opening = closing

    #   Increment the number of years seen
    unique_years += 1

print ( f"After {unique_years} years you have invested {locale.currency( yearly_cash * unique_years , grouping=True )}" )
print ( f"Your total amount is {locale.currency( total_investment, grouping=True )}" )
</code></pre>

</details>

<p>It spits out:</p>

<blockquote><p>After 30 years you have invested $36,000</p>

<p>Your total amount is <strong>$203,445</strong></p></blockquote>

<h2 id="experiment-2-dollar-cost-averaging"><a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#experiment-2-dollar-cost-averaging">Experiment 2 - Dollar Cost Averaging</a></h2>

<p>OK! Can we beat that with DCA? In this scenario you take your uncle's money and invest 1/12th of it on the first trading day of every month.</p>

<details>
<summary>Open for Python Code</summary>

<pre><code class="language-python">import numpy as np
import locale

#   Set for American currency
locale.setlocale( locale.LC_ALL, 'en_US.UTF-8' )

#   Location of the data
file_path = 'data.csv'

#   Load CSV into a NumPy array
data = np.genfromtxt(file_path, delimiter=',', names=True, dtype=None, encoding='utf-8')

#   Total investment
total_investment = 0

#   Monthly investment
monthly_cash = 100

#   Number of months run
number_of_months = 0

#   Start with an opening of 0
opening = 0

#   Loop through the years
for year in range( 1994, 2024 ):

    #   Get data for the current year
    data_year = data[data['Year'] == year]

    #   There should be 12 months in every year, but let's double check!
    unique_months = np.unique(data_year['Month'])

    #   Loop through the months
    for month in unique_months:
        #   Add our monthly amount
        total_investment += monthly_cash

        # Filter data for the current month
        data_month = data_year[data_year['Month'] == month]

        #   Opening Price
        if ( 0 == opening ) :
            opening = data_month['Open'][0]

        #   Closing Price
        closing = data_month['Close'][-1]

        #   Percentage Change
        change = ( closing - opening) / opening

        movement = "✅ +" if change &gt; 0 else "❌ -"

        #   Calculate change in investment
        total_investment = int( (1 + change) * total_investment )

        #   Print the running monthly total
        print ( f"{movement}{abs(change*100):05.2f}% {year}/{month:02.0f} Total investment is " + locale.currency( total_investment, grouping=True ) )

        #   Set the new opening price
        opening = closing

        #   Increment the number of months
        number_of_months += 1
    #   Yearly total
    #print ( f"{movement}{abs(change*100):05.2f}% {year}/{month:02.0f} Total investment is " + locale.currency( total_investment, grouping=True ) )

print ( f"Your total amount is {locale.currency( total_investment, grouping=True )} after {number_of_months} months" )
</code></pre>

</details>

<p>The end result?</p>

<blockquote><p>Your total amount is <strong>$193,891</strong> after 360 months</p></blockquote>

<p>That's $9,554 <em>worse</em> than shoving all the money in on January 1st.</p>

<p>Which... Look, $10k is $10k. I'd rather have it than not. But, in the context of these numbers, it doesn't <em>feel</em> significant. Does it?</p>

<h2 id="lets-graph-it"><a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#lets-graph-it">Let's Graph It!</a></h2>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/07/dcalump-fs8.png" alt="Graph showing two gradually diverting lines." width="1006" height="644" class="aligncenter size-full wp-image-51229">

<h2 id="conclusion"><a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#conclusion">Conclusion</a></h2>

<p>Dollar Cost Averaging is <em>fine</em><sup id="fnref2:fin"><a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#fn:fin" class="footnote-ref" title="OK, it is a bit more complicated than that. This blog is not financial advice, OK?" role="doc-noteref">0</a></sup>. Over a long enough time you're probably <em>marginally</em> better off with lump-sum investing. But there's not much in it.</p>

<p>I'm sure you can construct scenarios where DCA is slightly preferential, and not every investment tracks the S&amp;P500, and I'm sure my maths might be a little wonky, and <em>obviously</em> this is not financial advice. But, yeah, DCA if you want to; the difference in this example appears to be minimal.</p>

<div id="footnotes" role="doc-endnotes">
<hr>
<ol start="0">

<li id="fn:fin">
<p>OK, it is a bit more complicated than that. This blog is not financial advice, OK?&nbsp;<a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#fnref:fin" class="footnote-backref" role="doc-backlink">↩︎</a> <a href="https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/#fnref2:fin" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=51225&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/08/is-dollar-cost-averaging-a-bad-idea/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[One month with a solar battery - real statistics]]></title>
		<link>https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/</link>
					<comments>https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 01 Sep 2023 11:34:47 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[battery]]></category>
		<category><![CDATA[solar]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46730</guid>

					<description><![CDATA[August is meant to be full of gloriously hot days. An endless parade of sunshine and drinks in the park. This year it seemed mostly grey, miserable, and prone to pissing it down at a moment&#039;s notice.  We all know that solar panels&#039; efficiency wilts in the heat, but do they get a tan work standing in the English rain?  At the beginning of August we installed a 4.8kWh solar battery to supplement…]]></description>
										<content:encoded><![CDATA[<p>August is meant to be full of gloriously hot days. An endless parade of sunshine and drinks in the park. This year it seemed mostly grey, miserable, and prone to pissing it down at a moment's notice.</p>

<p>We all know that <a href="https://www.bbc.co.uk/news/technology-62220512">solar panels' efficiency wilts in the heat</a>, but do they <del>get a tan</del> work standing in the English rain?</p>

<p>At the beginning of August we installed <a href="https://shkspr.mobi/blog/2023/08/solar-battery-statistics-day-one/">a 4.8kWh solar battery</a> to supplement our <a href="https://shkspr.mobi/blog/2020/03/relaunching-edent_solar-part-1-installation/">5kW of solar panels</a>.</p>

<p>The battery provides a CSV of readings taken every 15 minutes. It measures solar power, household usage, and battery usage. August, looked like this:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/09/month-fs8.png" alt="A graph of the month covered in lines showing solar power and electricity usage." width="991" height="522" class="aligncenter size-full wp-image-46733">

<p>Not massively helpful. But, with a little bit of 🐍 Python and 🐼 Pandas, I worked out the following:</p>

<h2 id="%f0%9f%8f%a0-our-home-used-290kwh"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#%f0%9f%8f%a0-our-home-used-290kwh">🏠 Our home used 290kWh</a></h2>

<p>We're tracking pretty close to the UK average of about 10kWh per day. Our average of 9.4kWh each day is perhaps slightly higher than normal for a 2-person household. But we work from home regularly and have a lot of hungry smarthome gadgets.</p>

<h2 id="%f0%9f%94%8c-only-15-of-our-electricity-came-from-the-grid"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#%f0%9f%94%8c-only-15-of-our-electricity-came-from-the-grid">🔌 Only 15% of our electricity came from the grid</a></h2>

<p>The sun doesn't shine at night. Duh! But the battery usually provides most of our power after sunset. The battery can only discharge at a maximum of 2.4kW, I think. So if we use the electric shower, oven, or other high power appliances, then we draw from the grid.</p>

<p>So, what did that 44kWh cost us?</p>

<h2 id="%f0%9f%92%b7-normally-wed-pay-90-for-augusts-electricity-we-only-paid-14"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#%f0%9f%92%b7-normally-wed-pay-90-for-augusts-electricity-we-only-paid-14">💷 Normally, we'd pay £90 for August's electricity. We only paid £14!</a></h2>

<p>The price you pay for electricity depends on where you are in the UK and what tariff you're on. With a mix of solar and battery, we cut our August bill by 85%.</p>

<p>But what's the mix between solar direct and solar delayed?</p>

<h2 id="%f0%9f%8c%9e-solar-gave-us-46-of-our-electricity"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#%f0%9f%8c%9e-solar-gave-us-46-of-our-electricity">🌞 Solar gave us 46% of our electricity</a></h2>

<p>About 135kWh of our month electricity needs was met <em>directly</em> from solar. That means photons hit the panels, they bounced down into the inverter, and then straight into the wires in our walls, where they were gobbled up by laptops, TVs, and toasters.</p>

<p>That just leaves the battery…</p>

<h2 id="%f0%9f%94%8b-battery-storage-gave-us-39-of-our-electricity"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#%f0%9f%94%8b-battery-storage-gave-us-39-of-our-electricity">🔋 Battery storage gave us 39% of our electricity</a></h2>

<p>We used about 113kWh from stored solar. An average of 3.6kWh per day. Perhaps that means our 4.8kWh battery is over specced? I'm not so sure. Some days we <a href="https://shkspr.mobi/blog/2023/08/using-over-100-of-our-solar-battery-capacity-in-one-day/">use <em>over</em> 100% of our solar battery capacity</a>.</p>

<p>Of course, not all of the solar power can get used or stored. Once the battery is full, that electricity has to go somewhere…</p>

<h2 id="%f0%9f%94%99-we-sold-140kwh-of-solar-back-to-the-grid"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#%f0%9f%94%99-we-sold-140kwh-of-solar-back-to-the-grid">🔙 We sold 140kWh of solar back to the grid</a></h2>

<p>Our solar power feeds into our local grid for our neighbours to use. We sell the electricity at market rates - which change every 30 minutes. This made us £13.</p>

<h2 id="%f0%9f%93%88-total-cost-for-augusts-electricity-1"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#%f0%9f%93%88-total-cost-for-augusts-electricity-1">📈 Total cost for August's electricity? £1.</a></h2>

<p>Yup! For the whole month of August, our electricity bill was £1.</p>

<p>(Plus the standing charge, of course!)</p>

<h2 id="disclaimer"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#disclaimer">Disclaimer</a></h2>

<p>OK, time for a little bit of a sanity check.</p>

<p>Firstly, these data are drawn directly from the battery. It has clamps over our import and export wires to monitor what the household is doing. These are <em>broadly</em> accurate - I estimate less than 2% different from what our smart meter and inverter report.</p>

<p>Secondly, the battery groups up the stats every 15 minutes. So, again, that's likely to introduce some errors into the data.</p>

<p>Thirdly, prices for both import and export can vary massively. Our export price in particular varies depending on demand.</p>

<p>Fourthly, these data were gathered in South-East London on an <a href="https://shkspr.mobi/blog/2021/03/which-generates-more-electricity-east-or-west-facing-solar-panels/">East / West split solar site</a>. Your panels will be in a different location and will perform differently.</p>

<p>Fifthly, the price of panels and battery storage is high. If you can afford the up-front capital costs of an installation, I think it makes sense to do so. The payback period is usually under 10 years. But can be <a href="https://shkspr.mobi/blog/2022/08/solar-panels-payback-time-during-rising-energy-costs/">considerably shorter during a time of rising energy costs</a>.</p>

<h2 id="i-want-more-stats"><a href="https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/#i-want-more-stats">I want more stats!</a></h2>

<p>Every day at sunset, <a href="https://gitlab.com/edent/solar-data/-/blob/main/README.md">my solar panels publish their generation stats to GitLab</a>. You can download all the data from 2020 and see how much solar generation we've had.</p>

<p>If you need more, I published <a href="https://shkspr.mobi/blog/2020/07/1800-days-of-minute-by-minute-solar-generation-data/">5 years of minute-by-minute solar generation as Open Data</a> from our previous house. This dataset has been cited in several academic papers.</p>

<p>I'm considering whether to release my daily <em>usage</em> statistics. At the moment, it feels a little invasive. You can tell when I put the kettle on in the morning, see when I load a tumble-dryer, and calculate just how long I use the oven for. Perhaps you can even analyse the overnight fluctuations and work out what model of fridge I have. I don't think you can <a href="https://www.cnet.com/news/privacy/researchers-find-smart-meters-could-reveal-favorite-tv-shows/">tell what video content I'm watching</a> because it's hidden in the noise of my other appliances. But you could probably tell if I was home or not.</p>

<p>Here's a typical daily graph. What do you think you can figure out from this?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/09/powerflow-fs8.png" alt="Graph with multiple lines. There's a spike about 6AM which is probably a kettle being boiled. Another near lunchtime which might be a microwave. The evening has a couple of hours of high use - which is probably a washing machine." width="991" height="522" class="aligncenter size-full wp-image-46732">

<p>So I <em>think</em> I'll release it in a year's time. That's a decent balance between openness and privacy.</p>

<p>I hope you've found this blog post useful. If you have, you can support me by:</p>

<ul>
<li>Switching to <a href="https://share.octopus.energy/metal-dove-988">Octopus Energy</a> - if you join, we both get £50. They do dynamic pricing for import and export. And, even better, they have an API so you can query your energy usage.</li>
<li>Supporting <a href="https://openbenches.org/support">OpenBenches</a> - it's a crowdsourced site of memorial benches run by me and my wife.</li>
<li>You can also <a href="https://amzn.to/2SryYWf">buy me a book to read</a>.</li>
</ul>

<p>Thanks!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46730&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/09/one-month-with-a-solar-battery-real-statistics/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Why you should attend the University of Luck]]></title>
		<link>https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/</link>
					<comments>https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 17 Jul 2023 11:34:00 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46221</guid>

					<description><![CDATA[Much hullabaloo out of America. Apparently elite universities can no long engage in &#34;Affirmative Action&#34;. How can they now admit a balanced and fair selection of the population?  My suggestion is, as always, sortition.  Let me explain.  Most top flight universities around the world have the same problem. They have space for 100 students on a specific course. 15,000 apply.  How do they select the…]]></description>
										<content:encoded><![CDATA[<p>Much hullabaloo out of America. Apparently elite universities can no long engage in "Affirmative Action". How can they now admit a balanced and fair selection of the population<sup id="fnref:fair"><a href="https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/#fn:fair" class="footnote-ref" title="Assuming, of course, that is what they wish to do." role="doc-noteref">0</a></sup>?</p>

<p>My suggestion is, as always, <a href="https://shkspr.mobi/blog/2020/11/living-the-stochastic-life/">sortition</a>.</p>

<p>Let me explain.</p>

<p>Most top flight universities around the world have the same problem. They have space for 100 students on a specific course. 15,000 apply.  How do they select the best-of-the-best-of-the-best?</p>

<p>My answer is - they don't.</p>

<p>They should ignore extra-curricular activities (that tend to bias against poorer students with less free time). Ignore admission essays (which <a href="https://www.independent.co.uk/news/uk/ucas-higher-education-policy-institute-nick-hillman-hepi-geoff-barton-b2357806.html">aren't read</a>, can be <a href="https://www.nytimes.com/2021/05/09/opinion/college-admissions-essays-trauma.html">creepily voyeuristic</a>, and are probably <a href="https://www.theuniversitypressclub.com/blog/archive/2011/01/jfks-princeton-college-app-its-okay-to-copypaste/">copy-and-pasted</a>). Ignore relevant experience (which, again, <a href="https://www.propublica.org/article/college-high-school-research-peer-review-publications">can be bought</a>). Ignore whether <a href="https://en.wikipedia.org/wiki/Legacy_preferences">someone's parents went to the school</a>. Ignore skin colour, religion, sex, gender, credit-score, disability, and everything else<sup id="fnref:problem"><a href="https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/#fn:problem" class="footnote-ref" title="Yes, you can already see that this could be problematic. But is there a line between a reasonable adjustment and positive discrimination?" role="doc-noteref">1</a></sup>.</p>

<p>Instead, find a <em>somewhat</em> objective method of filtering the applicants. For example, academic score<sup id="fnref:score"><a href="https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/#fn:score" class="footnote-ref" title="This isn't perfect, and certainly isn't neutral. It might bias against people who are gifted academically but suck at exams. Or show bias towards those who are assessed favourably by some other…" role="doc-noteref">2</a></sup>.</p>

<p>Take the names of everyone who meets or exceeds the minimum standard. Put the names in a big hat. Pull out 100 names. Those are the students you admit. Done.</p>

<p>It's cheap, fast, simple, and - above all - ruthlessly fair.</p>

<p>Everyone who is eligible has an equal chance of getting in. There can be no accusations of favouritism, discrimination, or bias.  You can't easily buy your way in, seduce a professor, or concoct a heartbreaking story to sway someone's opinion.</p>

<p>Might the university miss out on some stellar minds it really wanted to attract? Probably. Will the university get some undiscovered gems they would have otherwise overlooked? Probably.  If the people applying to the university are broadly representative of society, will the intake be similarly representative? Probably.</p>

<p>I am convinced that sortition (and similar stochastic methods) are fairer way of apportioning limited resources.</p>

<p>Now, before you go storming my barricades, I'd like to point out some of the flaws in this scheme.</p>

<p>Firstly, it's probably impossible to set a completely unbiased academic test. Even if it were, rich students have always been able to buy academic tutors to help them cram and study. It also means that a talented student who has, for example, gone to a crappy school or suffered a bereavement may not meet the strict criteria.</p>

<p>Secondly, if a university puts all of its recruitment efforts into specific schools - they're the ones more likely to apply. For example, if they never bother to send recruiters to schools for blind students, will those students be less inclined to apply?</p>

<p>Thirdly, what happens if one year the admissions happen to be 100% white students? Or zero disabled students make the cut? Or no men get in? That is statistically likely to happen. And our monkey-brains just aren't wired to cope with that level of "unfairness". We want <a href="https://www.laphamsquarterly.org/luck/miscellany/making-it-less-random">randomness which <em>looks</em> random, not that <em>is</em> random</a>.</p>

<p>Fourthly, how does this make students feel? If you know that you only got in because of a dice roll, what does that do to your mental health? I notice no one seems to worry about the psychology of students who only got in on a legacy basis. Or a sports scholarship. But I think sortition might cause both imposter syndrome in those that get in, and hostility in those that didn't.</p>

<p>Perhaps the answer is a mix of traditional and sortition?  Give 50% of places to those who can write a good essay, wow an interviewer, and generally play the game.  Give the remaining 50% to those students who are merely lucky.</p>

<p>Of course, unless such admissions data are kept secret, there will always be an uncomfortable urge to find out who "deserved" their place and who were merely lucky. Which, in a sense, is no different to how opponents of Affirmative Action feel today.</p>

<p>I am quite serious about this. It seems that the two options facing universities - and anyone else oversubscribed with qualified candidates - are either to fully embrace your current discriminatory practices, or just pick people at random.</p>

<p>I'll go one step further. If US universities are no longer allowed to positively discriminate on any characteristic, then it strikes me that a lottery of qualified applicants is the <em>only</em> solution they can adopt.</p>

<p>I don't think the world is ready for this level of cold-blooded rationality. We want processes which <em>feel</em> fair and which <em>appear</em> reward deserving students. Sortition asks us to confront the very real possibility that our traditions and processes have been monumentally unfair.</p>

<div id="footnotes" role="doc-endnotes">
<hr>
<ol start="0">

<li id="fn:fair">
<p>Assuming, of course, that is what they wish to do.&nbsp;<a href="https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/#fnref:fair" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:problem">
<p>Yes, you can already see that this could be problematic. But is there a line between a reasonable adjustment and positive discrimination?&nbsp;<a href="https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/#fnref:problem" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:score">
<p>This isn't perfect, and certainly isn't neutral. It might bias against people who are gifted academically but suck at exams.  Or show bias towards those who are assessed favourably by some other condition.&nbsp;<a href="https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/#fnref:score" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46221&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/07/why-you-should-attend-the-university-of-luck/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[What's an acceptable number of failures?]]></title>
		<link>https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/</link>
					<comments>https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 31 Dec 2022 12:34:12 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=44203</guid>

					<description><![CDATA[During my (brief) stint teaching senior leaders about AI, there was one question that I urged them to learn above all others.   What is the acceptable failure rate?   For this, I had to teach them two concepts.   False Positives. For example, telling someone they have cancer when they don&#039;t. False Negatives. For example, telling someone they don&#039;t have cancer when they do.   There is a cost…]]></description>
										<content:encoded><![CDATA[<p>During my (brief) stint teaching senior leaders about AI, there was one question that I urged them to learn above all others.</p>

<ul>
<li>What is the acceptable failure rate?</li>
</ul>

<p>For this, I had to teach them two concepts.</p>

<ol>
<li>False Positives. For example, telling someone they have cancer when they don't.</li>
<li>False Negatives. For example, telling someone they don't have cancer when they do.</li>
</ol>

<p>There is a cost associated with both of these errors. In the first case, it is the monetary cost of unnecessary treatment and the emotional cost to the patient. In the second, it is the monetary and reputational cost of getting sued for negligence as well as the emotional cost to the patient.</p>

<p>Here's a handy chart:</p>

<table>
<thead>
<tr>
  <th align="right"></th>
  <th align="center"><strong>True</strong></th>
  <th align="center"><strong>False</strong></th>
</tr>
</thead>
<tbody>
<tr>
  <td align="right"><strong>Positive</strong></td>
  <td align="center">😃</td>
  <td align="center">😭</td>
</tr>
<tr>
  <td align="right"><strong>Negative</strong></td>
  <td align="center">😃</td>
  <td align="center">😭</td>
</tr>
</tbody>
</table>

<p>So, we're agreed! Let's eliminate false results. Luckily, that's pretty easy.</p>

<p>If we want to eliminate <em>all</em> False Positives, we just give everything a negative result.</p>

<p>If we want to eliminate <em>all</em> False Negatives, we just give everything a positive result.</p>

<p>Ah.  Do you see the problem?  We want <em>both</em> to be zero. But humans - and the processes they create - are fallible.  There will <em>always</em> be an error somewhere.</p>

<p>So how much error is acceptable?</p>

<p>You may have heard of the maxim "It is better that ten guilty persons escape than that one innocent suffer." - known as <a href="https://en.wikipedia.org/wiki/Blackstone's_ratio">Blackstone's ratio</a>. That suggests that a high False Negative rate is an acceptable consequence of the legal system - because a False Positive is unconscionable<sup id="fnref:dick"><a href="https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#fn:dick" class="footnote-ref" title="Other people take a different view: &quot;I’m more concerned with bad guys who got out and released than I am with a few that in fact were innocent.&quot;" role="doc-noteref">0</a></sup>.</p>

<p>The problem of False results increases with the total number of results.  Let's take, for example, spam email. If you are manually looking over every email you receive - say 10 per day<sup id="fnref:10"><a href="https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#fn:10" class="footnote-ref" title="I wish I got that few!" role="doc-noteref">1</a></sup> - and judging whether they are spam or not, then it's relatively easy to get zero false results.</p>

<p>Now imagine that you're sorting through a million emails. Is that one about Viagra spam - or is it a genuine message from your pharmacy? That one is from your mum - but it's a forwarded chain hoax - is that spam? And so on.</p>

<p>What's the right balance between False Positive and False Negative? Would you rather have genuine email fall into the spam trap, or occasionally see spam in your inbox?</p>

<p>Now apply this thinking to <em>any</em> large-scale process.</p>

<p>For example, responding to abuse requests on social media. I'm sure we've all had the experience of finding blatantly illegal or abusive content, reporting it, and getting back the message "Sorry, we don't think this violates our guidelines."</p>

<p>It's annoying and distressing to encounter a False Negative in the wild.</p>

<p>And, I'm sure many of us will have experienced being notified that our completely innocuous post somehow "went against community guidelines" and was blocked.</p>

<p>It's annoying and distressing to encounter a False Positive in the wild.</p>

<p>But the most painful thing is that we have no way of judging is how many <em>True</em> Positives and Negatives there were.</p>

<h2 id="the-trilemma"><a href="https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#the-trilemma">The Trilemma</a></h2>

<p>The classic choice we are asked to make is:</p>

<ol>
<li>Fast</li>
<li>Cheap</li>
<li>Reliable</li>
</ol>

<ul>
<li>Pick any <em>two</em></li>
</ul>

<p>If we moderated our own content, it would be reliable and cheap - but it wouldn't be fast.</p>

<p>Things like <a href="https://web.archive.org/web/20221205211855/https://www.thinkautomation.com/eli5/bayesian-filter-for-dummies/">Bayesian Filters</a> are automated tools which compare messages to a list of known "good" and "bad" messages. They're very quick, very cheap, but their reliability is poor because spammers learn how to bypass them.</p>

<p>So we tend to do one of two things:</p>

<ol>
<li>Outsourced labour</li>
<li>AI</li>
</ol>

<p>Using real humans in a low-cost area is cheap.  Get enough of them and they are fast. But the more you get, the more expensive it is. And the reliability is uneven.</p>

<p>So AI comes to the rescue. It is <em>blazing</em> fast. The more you use it, the cheaper it gets. And the more you correct it, the more reliable it gets.</p>

<p>But that reliability <em>always</em> comes back to the acceptable number of False Positives vs False Negatives.</p>

<p>I've seen some people say that social networks should have zero-tolerance for abuse.  I agree with that.  I'd happily ban all content that is racist, sexist, homophobic, transphobic, casteist etc<sup id="fnref:bias"><a href="https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#fn:bias" class="footnote-ref" title="Of course, an AI is only as good as the material it is trained on. Many abuse detectors fail because they are trained on biased data sets. See Algorithms of Oppression by Safiya Noble and 
Ruha…" role="doc-noteref">2</a></sup>.</p>

<p>But what's an acceptable failure rate?  With a million abusive messages coming in every minute, how many is acceptable number to incorrectly mark as benign?</p>

<p>If you say zero, then you have to accept an increase in False Positives - innocent messages getting incorrectly blocked.</p>

<p>The reverse is also true.</p>

<p>And I think that's where people get stuck.  We have to accept that failure <em>is</em> an option. More than that, it is an inevitability.  We have to make peace with the fact that False Positives and False Negatives can only ever be reduced - not entirely eliminated.</p>

<div id="footnotes" role="doc-endnotes">
<hr>
<ol start="0">

<li id="fn:dick">
<p>Other people take a different view: "<a href="https://nymag.com/intelligencer/2014/12/cheney-alright-with-torture-of-innocent-people.html">I’m more concerned with bad guys who got out and released than I am with a few that in fact were innocent.</a>"&nbsp;<a href="https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#fnref:dick" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:10">
<p>I <em>wish</em> I got that few!&nbsp;<a href="https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#fnref:10" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:bias">
<p>Of course, an AI is only as good as the material it is trained on.  Many abuse detectors fail because they are trained on biased data sets. See  <a href="https://shkspr.mobi/blog/2020/11/book-review-algorithms-of-oppression-safiya-noble/">Algorithms of Oppression by Safiya Noble</a> and <a href="https://shkspr.mobi/blog/2020/08/book-review-race-after-technology-abolitionist-tools-for-the-new-jim-code/">
Ruha Benjamin's Race After Technology: Abolitionist Tools for the New Jim Code</a> for more.&nbsp;<a href="https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/#fnref:bias" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=44203&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/12/whats-an-acceptable-number-of-failures/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Where are the articles asking why men don't want to have children?]]></title>
		<link>https://shkspr.mobi/blog/2022/04/where-are-the-articles-asking-why-men-dont-want-to-have-children/</link>
					<comments>https://shkspr.mobi/blog/2022/04/where-are-the-articles-asking-why-men-dont-want-to-have-children/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 30 Apr 2022 11:34:28 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[childfree]]></category>
		<category><![CDATA[sexism]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=42389</guid>

					<description><![CDATA[Truly, men have the worse of everything…⸮  But, there&#039;s something we blokes can be grateful for. No matter what grief the world throws at us, it&#039;ll always be the women&#039;s fault that there aren&#039;t enough babies!  The other day, I saw this headline:    The Business Insider article - in the &#34;Economy&#34; section - focussed solely on the lady-folk. Why do those pesky dames refuse to procreate?  About hal…]]></description>
										<content:encoded><![CDATA[<p>Truly, men have the worse of everything…⸮</p>

<p>But, there's something we blokes can be grateful for. No matter what grief the world throws at us, it'll always be the women's fault that there aren't enough babies!</p>

<p>The other day, I saw this headline:</p>

<p><a href="https://www.businessinsider.com/women-dont-want-kids-birth-rate-love-fulfilling-life-2022-4"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/More-and-more-women-just-dont-want-children-Kids-are-expensive-and-sticky.png" alt="More and more women just don't want children 'Kids are expensive and sticky'" width="1191" height="430" class="aligncenter size-full wp-image-42390"></a></p>

<p>The <a href="https://www.businessinsider.com/women-dont-want-kids-birth-rate-love-fulfilling-life-2022-4">Business Insider article</a> - in the "Economy" section - focussed solely on the lady-folk. Why do those pesky dames refuse to procreate?  About half-way through, the journalist linked to <a href="https://www.pewresearch.org/fact-tank/2021/11/19/growing-share-of-childless-adults-in-u-s-dont-expect-to-ever-have-children/">the original study</a>. Did it put the blame squarely on the female of the species?</p>

<blockquote><p>Among parents and non-parents alike, men and women are equally likely to say they will probably not have kids (or more kids) in the future.</p></blockquote>

<p>Ah.</p>

<p>It turns out, it isn't <em>just</em> the fault of the chicks. Us dudes (assuming you are one) are also equally to blame. Not that you'd know it from the media!</p>

<p>Here's a selection of recent headlines. I've deliberately selected fairly mainstream Anglosphere publications rather than, say, single-interest magazines.</p>

<p><a href="https://edition.cnn.com/2021/08/14/us/childfree-women-birth-rate-decline-trnd/index.html"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/Why-more-women-are-deciding-not-to-have-kids.png" alt="CNN article entitled Why more women are deciding not to have kids." width="1171" height="362" class="aligncenter size-full wp-image-42391"></a></p>

<p><a href="https://metro.co.uk/2021/07/02/theyre-not-in-my-future-the-women-in-their-20s-who-dont-want-kids-14859296/"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/The-women-in-their-20s-who-dont-want-kids.png" alt="Metro article &quot;The women in their 20s who don't want kids.&quot;" width="805" height="328" class="aligncenter size-full wp-image-42392"></a></p>

<p><a href="https://www.thetimes.co.uk/article/dont-know-if-you-want-a-baby-youre-not-alone-vrss7gld6"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/Dont-know-if-you-want-a-baby-Youre-not-alone.png" alt="Times article entitled &quot;Don’t know if you want a baby You’re not alone&quot;." width="829" height="446" class="aligncenter size-full wp-image-42393"></a></p>

<p><a href="https://www.spectator.co.uk/article/why-are-gen-z-against-motherhood-"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/What-does-Gen-Z-have-against-motherhood.png" alt="Spectator article entitled &quot;What does Gen Z have against motherhood?&quot;" width="786" height="338" class="aligncenter size-full wp-image-42395"></a></p>

<p><a href="https://www.nytimes.com/2021/06/27/opinion/falling-birthrate-women-babies.html"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/Women-Are-Having-Fewer-Babies-Because-They-Have-More-Choices.png" alt="New York Times article entitled &quot;Women Are Having Fewer Babies Because They Have More Choices&quot;." width="697" height="441" class="aligncenter size-full wp-image-42396"></a></p>

<p><a href="https://www.thetimes.co.uk/article/half-of-women-turning-thirty-do-not-yet-have-children-gjs55ktfc"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/Half-of-women-turning-thirty-do-not-yet-have-children.png" alt="Time article entitled &quot;Half of women turning thirty do not yet have children&quot;." width="1164" height="362" class="aligncenter size-full wp-image-42397"></a></p>

<p>And on and on it goes!</p>

<p>Try to find articles in those same publications - or anywhere else - which ask "Why are young men not becoming fathers?" Or "10 reasons why men aren't choosing fatherhood - you'll never guess number 7!!" Or "Gen-Z Blokes Back-off Baby-making".</p>

<p>Where's the article entitled "I don't want to be a dad… ever!"?</p>

<p>At best, you find the occasional article like this:
<a href="https://www.theguardian.com/lifeandstyle/2021/oct/28/scared-late-kids-men-biological-clocks-ageing-procreation-anxieties"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/‘Im-scared-Ive-left-it-too-late-to-have-kids-the-men-haunted-by-their-biological-clocks.png" alt="Guardian article entitled ‘I’m scared I’ve left it too late to have kids’ the men haunted by their biological clocks." width="1385" height="643" class="aligncenter size-full wp-image-42403"></a>
But that's really about men who <em>want</em> kids, but haven't got around to it.</p>

<p>Or this:
<a href="https://www.huffingtonpost.co.uk/entry/women-under-30-without-children-what-about-men_uk_61f3d0d0e4b04f9a12bc1014"><img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/Want-To-Know-Why-Women-Under-30-Dont-Have-Kids-Start-Asking-The-Men.png" alt="Huff Post article called &quot;Want To Know Why Women Under 30 Don't Have Kids Start Asking The Men&quot;." width="1400" height="481" class="aligncenter size-full wp-image-42404"></a>
Which quite reasonably says:</p>

<blockquote><p>Why, oh why, does nobody ever ask about the men?</p></blockquote>

<h2 id="statistics"><a href="https://shkspr.mobi/blog/2022/04/where-are-the-articles-asking-why-men-dont-want-to-have-children/#statistics">Statistics</a></h2>

<p>OK, so no one is asking men why they don't want kids. What about the statistics?</p>

<p>I've previously ranted about the way the UK's <a href="https://shkspr.mobi/blog/2013/12/ons-and-childfree-intentions/">Office for National Statistics talks about childfree intentions</a>. By law, the ONS has to gather data about live births. In its latest statistical bullitein, it says:</p>

<blockquote><p><a href="https://www.ons.gov.uk/peoplepopulationandcommunity/birthsdeathsandmarriages/livebirths/bulletins/birthsummarytablesenglandandwales/2020#main-points">The total fertility rate (TFR) reached a record low in 2020, decreasing to 1.58 children per woman.</a></p></blockquote>

<p>OK, but how many children were there <em>per man</em>?  Is this one hyper-fertile chap running around impregnating everyone?</p>

<blockquote><p><a href="https://www.ons.gov.uk/peoplepopulationandcommunity/birthsdeathsandmarriages/livebirths/bulletins/birthsummarytablesenglandandwales/2020#live-births-and-fertility-rates">The average age (as measured by standardised mean age) of mothers at childbirth remained the same as 2019, at 30.7 years … Fertility rates for woman over the age of 40 decreased for the first time since 2013</a>.</p></blockquote>

<p>And what's the fertility rate of the father? Are young-bucks opting out? Are older daddies now the norm?</p>

<p>On the one hand, it is <em>easier</em> to gather data from the mother - there's reasonably solid evidence that the baby is hers. People can and do lie about who the sperm-donator are. But that seems to me like a weak reason to not attempt to gather the data.</p>

<p>Well, the good news is - the data <em>are</em> gathered! The <a href="https://www.nomisweb.co.uk/query/construct/summary.asp?mode=construct&amp;version=0&amp;dataset=204">ONS query builder</a> shows age of father. Here are the age of fathers &amp; mothers in 2019:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/Graph-of-fathers-age-vs-mothers-age.png" alt="Chart of father's age vs mother's age" width="1291" height="403" class="aligncenter size-full wp-image-42399">

<p>(Ew at the number of geriatric skeeves perving on teenagers!)</p>

<p>The full dataset only has 2017-2020 - and looks like this for the age of fathers over time:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2022/04/fathers.png" alt="Chart showing that all ages of men are dropping off." width="819" height="461" class="aligncenter size-full wp-image-42401"></p>

<p>Now, this doesn't talk about how many kids each man has fathered. But it is pretty clear that younger guys are dropping out of fatherhood at a higher rate than older ones. And, eyeballing it, at about the same rate as women.</p>

<h2 id="why-is-this-presented-as-a-woman-only-problem"><a href="https://shkspr.mobi/blog/2022/04/where-are-the-articles-asking-why-men-dont-want-to-have-children/#why-is-this-presented-as-a-woman-only-problem">Why is this presented as a woman-only problem?</a></h2>

<p>Sexism.</p>

<p>Sorry, were you expecting a more detailed explanation? OK. <em>Lots</em> of sexism.</p>

<p>There is a stereotypical perception that men generally don't want kids. That's not true - I know loads of mates who were desperate to become fathers.</p>

<p>And there is an equal and opposite presumption that <em>all</em> women want to breed. But it is only that stereotype which seems to be the target. Men simply don't get an equal amount of grief in the media.</p>

<p>As people get better access to education and jobs - they see the structural advantages to the way (some) child-free people live their lives. And they see the misery inflicted on (some) people by having kids.  This affects men and women equally.</p>

<p>As people take a rational look at both the economy and the health of the planet - they realise the monumental unfairness of bringing life into the world. Again, both men and women take a long-term rational view of their lives and the lives of potential children.</p>

<p>You can't escape the fact that you need a womb in order to give birth. But, as the old song goes, it takes two to tango. "Blame" for the lack of babies needs to be shared equally.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=42389&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/04/where-are-the-articles-asking-why-men-dont-want-to-have-children/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Book Review:  The Art of Statistics - Learning from Data by David Spiegelhalter ★★★★⯪]]></title>
		<link>https://shkspr.mobi/blog/2021/08/book-review-the-art-of-statistics-learning-from-data-by-david-spiegelhalter/</link>
					<comments>https://shkspr.mobi/blog/2021/08/book-review-the-art-of-statistics-learning-from-data-by-david-spiegelhalter/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 09 Aug 2021 11:38:41 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39803</guid>

					<description><![CDATA[Do busier hospitals have higher survival rates? How many trees are there on the planet? Why do old men have big ears? David Spiegelhalter reveals the answers to these and many other questions - questions that can only be addressed using statistical science.  Statistics has played a leading role in our scientific understanding of the world for centuries, yet we are all familiar with the way…]]></description>
										<content:encoded><![CDATA[<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/08/art-of-stats.jpg" alt="Book cover with many dots on it." width="300" class="alignleft size-full wp-image-39812">

<blockquote><p>Do busier hospitals have higher survival rates? How many trees are there on the planet? Why do old men have big ears? David Spiegelhalter reveals the answers to these and many other questions - questions that can only be addressed using statistical science.</p>

<p>Statistics has played a leading role in our scientific understanding of the world for centuries, yet we are all familiar with the way statistical claims can be sensationalised, particularly in the media. In the age of big data, as data science becomes established as a discipline, a basic grasp of statistical literacy is more important than ever.</p>

<p>In The Art of Statistics, David Spiegelhalter guides the reader through the essential principles we need in order to derive knowledge from data. Drawing on real world problems to introduce conceptual issues, he shows us how statistics can help us determine the luckiest passenger on the Titanic, whether serial killer Harold Shipman could have been caught earlier, and if screening for ovarian cancer is beneficial.</p></blockquote>

<p>Any book which starts with <a href="https://github.com/dspiegel29/ArtofStatistics">a link to a GitHub repo full of the code used to produce the statistics</a> is bound to be good!</p>

<p>This is an excellent introduction and overview to <em>why</em> statistics are presented the way they are.</p>

<p>In some parts, the book is similar to the Feynmann report on the Challenger disaster. It takes a calm, dispassionate look at heartbreaking data to try to make sense of tragedy. Being able to take emotion and fear out of data is a core part of investigating the world. Something that isn't always easy to remember.</p>

<p>Spiegelhalter gently eviscerates journalists who have no concept of how stats work and just publish whichever big, eye-catching number they latch onto.  But I found it hard not to sympathise with people who skim a poorly-constructed press release looking for the interesting headline.</p>

<p>The book makes brilliant use of modern ebook features - it separates footnotes and citations, it hyperlinks reference, and makes good use of crosslinking. That said, they are sometimes so dense that it's difficuly to navigate using a touchscreen.</p>

<p>Sadly, all the diagrams and charts are in black and white - an understandable cost saving for a print book, but a splash of colour might have livened up the ebook.</p>

<p>If you're involved in stats or data science then you probably won't find anything new in here - but it's a good reminder about how much work it takes to make statistics accessible for the lay reader.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39803&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/08/book-review-the-art-of-statistics-learning-from-data-by-david-spiegelhalter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[VR for Statistics]]></title>
		<link>https://shkspr.mobi/blog/2021/08/vr-for-statistics/</link>
					<comments>https://shkspr.mobi/blog/2021/08/vr-for-statistics/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 05 Aug 2021 11:33:05 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[Virtual Reality]]></category>
		<category><![CDATA[vr]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39771</guid>

					<description><![CDATA[I&#039;m not a big fan of Virtual Reality. I find it claustrophobic and impractical for most uses.  There are some areas which it does impress though.  Scale.  Half-a-dozen years ago - during one of VR&#039;s periodic hype-phases - an employer asked me and my team to &#34;do something interesting&#34; with all the expensive VR kit they&#039;d bought on a whim.  We looked at virtual store walkthroughs, simulating the…]]></description>
										<content:encoded><![CDATA[<p>I'm not a big fan of Virtual Reality. I find it claustrophobic and impractical for most uses.</p>

<p>There are some areas which it does impress though.</p>

<p>Scale.</p>

<p>Half-a-dozen years ago - during one of VR's periodic hype-phases - an employer asked me and my team to "do something interesting" with all the expensive VR kit they'd bought on a whim.</p>

<p>We looked at virtual store walkthroughs, simulating the view from a theatre seat, or a view of the country from above overlaid with shiny graphics. None really sparked the imagination.</p>

<p>Then, we had the genius idea of graphs.</p>

<p>Yup! Bar charts!</p>

<p>The tyranny of the A4 print out can't be overstated. Every graph is reduced to the same size. Differences are erased. The massive disparity between columns are squished down. Even a 65 inch, 4K TV doesn't really show scale.</p>

<p>But VR does!</p>

<p>We tried a few different things - riding roller coasters over the data, sky diving through the numbers, even rendering the data as monsters and shooting them with lasers.</p>

<p>But, in the end, the thing that impressed was scale.</p>

<p>Here's a quick demo I knocked up in A-Frame. (I don't have the original data or hoards of graphic designers to make things look halfway decent. Nor a copy of Unity. Just fill in with your imagination.)</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/07/Basic-Graph-fs8.png" alt="A basic bar chart - with four columns. The tallest is about the height of the screen." width="1024" height="501" class="aligncenter size-full wp-image-39785">

<p>It's a pretty OK way to visualise the data. Imagine some labels and axis on there - you can see how wandering around it would give you a sense of the data.</p>

<p>"Now," you tell your CEO, "gaze upwards..."</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/07/Tall-Graph-fs8.png" alt="Gazing up, we can see the tallest bar towers over them all reaching into the sky." width="1024" height="501" class="aligncenter size-full wp-image-39786">

<p>Whoa! From playing around with small numbers to suddenly being confronted by the overwhelming power of a giant number.</p>

<p>Look, is this the <em>best</em> way to visualise data? No! Probably not.  Is it a <em>good</em> way to visualise data? Also no!</p>

<p>But it is good at preventing a certain class of problem when viewing data:</p>

<p><a href="https://web.archive.org/web/20210714094741/https://twitter.com/DanWei55/status/1415224423725125633"><img src="https://shkspr.mobi/blog/wp-content/uploads/2021/08/BBC-Graph.jpg" alt="Tweet which says &quot;How the BBC chooses to display a graph on race disparity
vs
How the data would actually look like.&quot; The first image shows an unnaturally shortened bar graph. The second image shows that the graph should extend much further." width="688" height="822" class="aligncenter size-full wp-image-46519"></a></p>

<p>Most of the time, statistical graphs are static. Occasionally, they're animated. But when you need to impress on someone the magnitude of a number - sometimes VR is the answer.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39771&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/08/vr-for-statistics/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Book Review: How to Make the World Add Up - Tim Harford ★★★★★]]></title>
		<link>https://shkspr.mobi/blog/2021/07/book-review-how-to-make-the-world-add-up-tim-harford/</link>
					<comments>https://shkspr.mobi/blog/2021/07/book-review-how-to-make-the-world-add-up-tim-harford/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 16 Jul 2021 11:41:06 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39558</guid>

					<description><![CDATA[In How to Make the World Add Up, Tim Harford draws on his experience as both an economist and presenter of the BBC’s radio show ‘More or Less’ to take us deep into the world of disinformation and obfuscation, bad research and misplaced motivation to find those priceless jewels of data and analysis that make communicating with numbers so rewarding. Through vivid storytelling he reveals how we can…]]></description>
										<content:encoded><![CDATA[<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/07/hbg-title-9781408712221-81.webp" alt="A goldfish, with a shark find stuck to its back." width="200" class="alignleft size-full wp-image-39561">

<blockquote><p>In How to Make the World Add Up, Tim Harford draws on his experience as both an economist and presenter of the BBC’s radio show ‘More or Less’ to take us deep into the world of disinformation and obfuscation, bad research and misplaced motivation to find those priceless jewels of data and analysis that make communicating with numbers so rewarding. Through vivid storytelling he reveals how we can evaluate the claims that surround us with confidence, curiosity and a healthy level of scepticism. It is a must-read for anyone who cares about understanding the world around them.</p></blockquote>

<p>This is a lovely and useful book. It contains ten simple rules for <del>dating my teenage daughter</del> making sense of statistics. Every day we're bombarded with hundreds of seemingly contradictory conclusions from an array of confusing statistics. How do we sort the bullish claims from the bullshit?</p>

<p>I was particularly impressed with the book's full throated endorsement of open data and open source.  If statistics aren't public - they can't be criticised. If their methodology is secret - they can't be examined. Both are needed for a healthy statistical debate.</p>

<p>The thing which struck me the most was just how <em>easy</em> the rules are to follow. And then I was swiftly batted around the head by the realisation that I only tend to apply them to statistics I'm predisposed to disagree with. All humans are fallible - and this book is a constant reminder that we all need to up our game.</p>

<p>Two very mild points of criticism.</p>

<p>There isn't much new here. If you've been following along with the statistic discourse, or are a regular reader/listener of Tim's work. But it put together well, and provides a great overview of <em>why</em> we trust statistics as well as <em>how</em> to trust them.</p>

<p>Many of the statistics and anecdotes are about America. I appreciate that their hegemony looms large in our legend - but a few more stories from outside their sphere of influence would have been interesting. Perhaps, unsurprisingly, the book is being released in the USA and Canada as "<a href="https://timharford.com/books/datadetective/">The Data Detective</a>".</p>

<p>Thanks to NetGalley for the review copy. The book is available in all good bookshops (and, statistically, a few bad ones) now:</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39558&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/07/book-review-how-to-make-the-world-add-up-tim-harford/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[First they ignore you, then they laugh at you, then they fight you, then you lose]]></title>
		<link>https://shkspr.mobi/blog/2015/12/first-they-ignore-you-then-they-laugh-at-you-then-they-fight-you-then-you-lose/</link>
					<comments>https://shkspr.mobi/blog/2015/12/first-they-ignore-you-then-they-laugh-at-you-then-they-fight-you-then-you-lose/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 04 Dec 2015 17:34:24 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[logic]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=22099</guid>

					<description><![CDATA[I&#039;ve just read an interesting article by M.G. Siegler entitled - &#34;What you’re working on sucks, just give up now, they said.&#34;  It can be summed up thus:  Commentators said our startup wouldn&#039;t work. Our startup did, in fact, suceed. ∴ All commentators are wrong about whether startups will work.  This exhibits one of my favourite logical fallacies - survivorship bias.  If you only look at the win…]]></description>
										<content:encoded><![CDATA[<p>I've just read an interesting article by M.G. Siegler entitled - "<a href="https://500ish.com/first-61858a79d6de">What you’re working on sucks, just give up now, they said.</a>"</p>

<p>It can be summed up thus:</p>

<p>Commentators said our startup wouldn't work.
Our startup did, in fact, suceed.
∴ All commentators are wrong about whether startups will work.</p>

<p>This exhibits one of my favourite logical fallacies - survivorship bias.  If you only look at the winners, the world looks very different from reality.  It's why we think that products made in the past were of superior quality - only the ones which managed not to deteriorate over the last 50 years are with us because the crappy ones died long ago.</p>

<p>For us to examine whether there's any merit to ignoring the commentariat we need to look at, broadly speaking, four categories of companies:</p>

<ul>
    <li>Commentators said it sucked, and they were <strong>wrong</strong>.</li>
    <li>Commentators said it sucked, and they were <strong>right</strong>.</li>
    <li>Commentators said it rocked, and they were <strong>wrong</strong>.</li>
    <li>Commentators said it rocked, and they were <strong>right</strong>.</li>
</ul>

<p>By picking on only the first category, M.G. Siegler is committing the <a href="https://en.wikipedia.org/wiki/Texas_sharpshooter_fallacy">Texas Sharp-Shooter Fallacy</a>.</p>

<blockquote>A Texan fires a dozen shots at the side of a barn, half of them miss.  He draws a target around the area that he hit and declares himself the best gun-slinger in the west.</blockquote>

<p>It's tempting - far too tempting - to fall for the lie that because "<a href="https://soundcloud.com/fred-astaire-official/they-all-laughed-48549390">they all laughed at Christopher Columbus</a>", they are equally misdirected when laughing at us.</p>

<p><em>Every</em> successful company had a legion of people telling them that they were doomed.  Let's take a quick look at some examples and counter-examples:</p>

<table>
<tbody><tr>
<td></td>
<td><h3 id="it-sucks"><a href="https://shkspr.mobi/blog/2015/12/first-they-ignore-you-then-they-laugh-at-you-then-they-fight-you-then-you-lose/#it-sucks">"It Sucks!"</a></h3></td>
<td><h3 id="this-rocks"><a href="https://shkspr.mobi/blog/2015/12/first-they-ignore-you-then-they-laugh-at-you-then-they-fight-you-then-you-lose/#this-rocks">"This Rocks!"</a></h3></td>
</tr>

<tr>
<td><h3 style="text-align:right;" id="failed"><a href="https://shkspr.mobi/blog/2015/12/first-they-ignore-you-then-they-laugh-at-you-then-they-fight-you-then-you-lose/#failed">Failed</a></h3></td>
<td>Zune<br>Phorm</td>
<td>Ouya<br>Firefly (too soon?)</td>
</tr>


<tr>
<td><h3 style="text-align:right;" id="succeeded"><a href="https://shkspr.mobi/blog/2015/12/first-they-ignore-you-then-they-laugh-at-you-then-they-fight-you-then-you-lose/#succeeded">Succeeded</a></h3></td>
<td>Square<br>iPod</td>
<td>Android<br>Tesla</td>
</tr>

</tbody></table>

<p>You can add your own selection of companies and products to that table depending on your prejudices.</p>

<p>It's never a great idea to read the bottom half of the web - the idiots, trolls, sycophants, and spammers will drive you crazy.  But, like the proverbial stopped clock, they are occasionally right.</p>

<p>Don't give up on your dreams just because some prat says you'll never make the big time.   Equally, don't be deluded into thinking that if they're disparaging you, then you <em>must</em> be on the right path.  There have been many people who were <a href="http://www.csmonitor.com/USA/Politics/2011/0603/Political-misquotes-The-10-most-famous-things-never-actually-said/First-they-ignore-you.-Then-they-laugh-at-you.-Then-they-attack-you.-Then-you-win.-Mohandas-Gandhi">ignored, laughed at, and attacked</a> who <strong>still lost!</strong></p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=22099&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/12/first-they-ignore-you-then-they-laugh-at-you-then-they-fight-you-then-you-lose/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Surrey Police and the Case of The Misleading Pie Charts]]></title>
		<link>https://shkspr.mobi/blog/2013/03/surrey-police-and-the-case-of-the-misleading-pie-charts/</link>
					<comments>https://shkspr.mobi/blog/2013/03/surrey-police-and-the-case-of-the-misleading-pie-charts/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 18 Mar 2013 07:30:10 +0000</pubDate>
				<category><![CDATA[politics]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[police]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[surrey]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=7820</guid>

					<description><![CDATA[Surrey County Council have sent every household in the county a booklet explaining how our council tax is being spent.  Within it is a highly political comment from Kevin Hurley, the newly elected Police and Crime Commissioner.  He presents a pie chart showing how the police force spend its money.  Take a look at it and ask yourself this question: what percentage is spent on &#34;Employees&#34;.   …]]></description>
										<content:encoded><![CDATA[<p>Surrey County Council have sent every household in the county a booklet explaining how our council tax is being spent.  Within it is a highly political comment from Kevin Hurley, the newly elected Police and Crime Commissioner.</p>

<p>He presents a pie chart showing how the police force spend its money.  Take a look at it and ask yourself this question: what percentage is spent on "Employees".</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/03/Surrey-Police-Pie-Chart1.jpg" alt="Surrey Police Pie Chart" width="600" height="363" class="aligncenter size-full wp-image-7817">

<p><del datetime="2025-01-23T06:42:40+00:00">Please use this poll to record your guess - answers at the end of this blog.</del></p>

<p>Pie charts have a long and noble history.  They were popularised by Florence Nightingale and were hugely effective in helping politicians understand the causes of death among soldiers during the Crimean War.
<a title="By w:Florence Nightingale (1820–1910). (http://www.royal.gov.uk/output/Page3943.asp) [Public domain], via Wikimedia Commons" href="http://commons.wikimedia.org/wiki/File%3ANightingale-mortality.jpg"><img width="512" alt="Nightingale-mortality" src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/Nightingale-mortality.jpg/960px-Nightingale-mortality.jpg"></a></p>

<p>As we understand more about the human brain and how we perceive shapes, it is becoming clear that <a href="https://en.wikipedia.org/wiki/Pie_chart#Use_and_effectiveness">pie charts are ineffective for representing complex information</a>.</p>

<p>2D pie charts can still serve a useful purpose in limited circumstances.  The real problem is with <em>3D</em> pie charts.  As far as I can tell, these abominations were popularised by Microsoft's Excel charting software.</p>

<p>3D charts distort the view of the data in such a way that it becomes increasingly hard to understand the information being presented.  A picture being worth 1000 words, allow me to demonstrate:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/03/GraphJam3d.jpg" alt="GraphJam3d" width="499" height="335" class="aligncenter size-full wp-image-7818"></p>

<p>So, just how bad is Surrey Police's Pie Chart?  In an <em>extremely</em> scientific study of asking half a dozen people, they all guessed between 75% and 85%.  That's quite a wide range considering it's a multi-million pound difference.</p>

<p>On the opposite page to the pie chart is this summary of spending.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/03/Police-Spending.jpg" alt="Police Spending" width="600" height="320" class="aligncenter size-full wp-image-7816"></p>

<p>In slightly more readable format, it is:</p>

<table>
    <tbody><tr>
        <td><b>Category</b></td>
        <td><b>£</b></td>
        <td><b>%</b></td>
    </tr>
    <tr>
        <td><b>Employees</b></td>
        <td>£181.70</td>
        <td>81.9%</td>
    </tr>
    <tr>
        <td><b>Premises</b></td>
        <td>£8.00</td>
        <td>3.6%</td>
    </tr>
    <tr>
        <td><b>Supplies</b></td>
        <td>£27.20</td>
        <td>12.3%</td>
    </tr>
    <tr>
        <td><b>Transport</b></td>
        <td>£5.00</td>
        <td>2.3%</td>
    </tr>
    <tr>
        <td><b>Total</b></td>
        <td>£216.90</td>
        <td>97.7%</td>
    </tr>
</tbody></table>

<p><br>
A few interesting things to note here.</p>

<p>Firstly, how do we calculate the percentages?  The total spend isn't mentioned in the report (£216.90).  If we use that, "Employees" accounts for 81.9% of spending.</p>

<p>If we take into account the gross expenditure (£207.70) the figure jumps to <strong>87.5%</strong>.</p>

<p>Secondly, if we do assume that we're using the unreported total spend - there is at least 2% missing.  Some of which can be explained by rounding - but I wonder what the rest of the money is spent on.</p>

<p>Given the above, I don't think the provided pie chart allows Surrey residents to see an accurate view of how their hard earned money is being spent.</p>

<p>Hopefully, this side-by-side - of the above data - will show you how 3D pie charts distort data and end up misleading their audience.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/03/3d-2d-pie-chart-side-by-side.jpg" alt="3d 2d pie chart side by side" width="600" height="266" class="aligncenter size-full wp-image-7827"></p>

<p>With this overlay, we can see the distortion much more clearly.  The smaller sections of the chart look disproportionately larger.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/03/Pie-Charts-Overlayed.png" alt="Pie Charts Overlayed" width="408" height="377" class="aligncenter size-full wp-image-7828">
It's time to announce a zero tolerance crackdown on dodgy data representation.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=7820&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2013/03/surrey-police-and-the-case-of-the-misleading-pie-charts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Sex Ratios in Delhi]]></title>
		<link>https://shkspr.mobi/blog/2013/01/sex-ratios-in-delhi/</link>
					<comments>https://shkspr.mobi/blog/2013/01/sex-ratios-in-delhi/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 07 Jan 2013 08:30:20 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=7308</guid>

					<description><![CDATA[There are no words to adequately describe the horrific rape and murder of Jyoti Singh Pandey.  I remember, several years ago reading a short piece of speculative fiction which postulated that China would go to war over access to women.  Generations of female infanticide would leave the country with a severe gender imbalance.  Hoards of men would be unable to find a wife, would become violent, and …]]></description>
										<content:encoded><![CDATA[<p>There are no words to adequately describe the horrific rape and murder of <a href="http://en.wikipedia.org/wiki/2012_Delhi_gang_rape_case">Jyoti Singh Pandey</a>.</p>

<p>I remember, several years ago reading a short piece of speculative fiction which postulated that China would go to war over access to women.  Generations of female infanticide would leave the country with a severe gender imbalance.  Hoards of men would be unable to find a wife, would become violent, and would lead their country into bitter conflicts with other countries in order to capture their women.</p>

<p>A simplistic approach, perhaps.  There are many <a href="http://www.forbes.com/sites/china/2011/05/13/chinas-growing-problem-of-too-many-single-men/">perceived consequences of an unchecked male population growth</a>.  But gender imbalance stemming from female infanticide is a real problem around the world.</p>

<p>The <a href="http://www.census2011.co.in/">Indian Census</a> has released some very detailed statistics for the country's population.  This chart shows the male:female ratio in Dehli.</p>

<p><a href="http://www.census2011.co.in/census/state/delhi.html"><img src="https://shkspr.mobi/blog/wp-content/uploads/2013/01/Dehli-Sex-Ratio.png" alt="Dehli Sex Ratio" width="400" height="255" class="alignnone size-full wp-image-7309"></a></p>

<p>Now, there are several reasons why there may be fewer women than men in Delhi.  Economic migration may play a part for example.  What we can look at with some accuracy is the birth rate.</p>

<p>In most human societies, more boys are born than girls.  In 2011, the <a href="http://en.wikipedia.org/wiki/Sex_ratio">global sex ratio</a> was 984 females per 1,000 males.</p>

<p>In India, <a href="http://articles.timesofindia.indiatimes.com/2011-08-17/india/29895810_1_ratio-abortion-and-craze-craze-for-male-child">the rate is 940</a>.</p>

<p>In Delhi? <a href="http://www.census2011.co.in/questions/18/state-sexratio/female-sex-ratio-of-delhi-census-2011.html">It's 866</a>.</p>

<p>In <em>rural</em> Delhi? 809.</p>

<p>Delhi has 1.2 million more men than women.</p>

<p>By way of comparison,  <a href="https://web.archive.org/web/20121206061840/https://www.towerhamlets.gov.uk/lgsl/901-950/916_borough_statistics/age_and_gender.aspx">In the UK as a whole there are 970 males to every 1,000 females</a> (according to the ONS mid-2007 population estimates).  Of course, the UK doesn't have an exemplary record when it comes to sex crimes.</p>

<p>There are many factors to the continued female harassment around the world.  I don't want to appear to be an apologist for sexual violence, or single this out as the sole cause for these shameful crimes.  However, I can't help but wonder whether populations with such unhealthy sex ratios provide an environment which fosters a truly terrible attitude to women.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=7308&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2013/01/sex-ratios-in-delhi/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Why You Should Make Your QR Codes Unique]]></title>
		<link>https://shkspr.mobi/blog/2012/12/why-you-should-make-your-qr-codes-unique/</link>
					<comments>https://shkspr.mobi/blog/2012/12/why-you-should-make-your-qr-codes-unique/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 18 Dec 2012 12:00:50 +0000</pubDate>
				<category><![CDATA[qr]]></category>
		<category><![CDATA[council]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[QR Codes]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=7033</guid>

					<description><![CDATA[Wandering around the steets of London, I came across this excellent initiative from Camden Council on how to use QR codes on street furniture.  If you see that a light - or anything else - is damaged, you can scan the QR code and report the issue.  There&#039;s even a phone number and vanilla URL for those who aren&#039;t quite up to speed with new technology.   There&#039;s only one slight issue - the QR code…]]></description>
										<content:encoded><![CDATA[<p>Wandering around the steets of London, I came across this excellent initiative from Camden Council on how to use QR codes on street furniture.</p>

<p>If you see that a light - or anything else - is damaged, you can scan the QR code and report the issue.  There's even a phone number and vanilla URL for those who aren't quite up to speed with new technology.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/12/2012-11-08-15.52.29-768x1024.jpg" alt="QR Code Lamp-Post" width="768" height="1024" class="aligncenter size-large wp-image-7034"></p>

<p>There's only one slight issue - the QR code points to this site.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/12/2012-11-08-15.53.40-576x1024.png" alt="Reporting Form" width="384" height="682" class="aligncenter size-large wp-image-7035"></p>

<p>The fact that the landing page isn't mobile friendly is bad enough, but what's worse is that they completely fail to take advantage of sending the user to a precise URL.</p>

<p>What <strong>should</strong> happen is that the URL should be something like</p>

<pre>http://qr.camden.gov.uk/light/22</pre>

<p>There are two solid reasons for doing this.</p>

<ol>
    <li>It saves the user time - take them directly to where they need to go.</li>
    <li>You can track where users are scanning your codes.</li>
</ol>

<p>QR codes are <a href="https://github.com/edent/QR-Generator-PHP">free to generate</a>, and cheap to print.  You don't need to be stuck in the old way of thinking about how you link the physical world to the digital world.</p>

<p>Imagine if, after scanning, the user was told "You're reporting street light 22 (Bedford Square) as broken. Click here to confirm."
And then, perhaps, on the next page "We'd like to stay in touch with you - please enter your details here." which could even be a Facebook / Twitter login.</p>

<p>As the owner of the QR, you can see exactly where and when people are scanning - at the moment, all the council knows is that <em>one</em> of the thousands of QR codes was scanned, but not <em>which</em> one.</p>

<p>It also means that users don't have to fiddle around on their phone's screen too much in order to report a problem.  At the moment, they have to navigate through a complex site, fill in a form, and then hope they remembered which number street lamp was busted.</p>

<p>It could be as simple as scan - click - done.  A win for users, and a nice set of analytics to monitor.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=7033&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/12/why-you-should-make-your-qr-codes-unique/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The Perils of URL Shortners]]></title>
		<link>https://shkspr.mobi/blog/2012/11/the-perils-of-url-shortners/</link>
					<comments>https://shkspr.mobi/blog/2012/11/the-perils-of-url-shortners/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 20 Nov 2012 12:00:37 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[goo.gl]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[url]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=6096</guid>

					<description><![CDATA[I&#039;m not a big fan of URL shortners - bit.ly, t.co, goo.gl, ow.ly, etc - I understand the need for them, but they seem to offer a fairly poor service in terms of privacy and usefulness.  Take this recent example from Vodafone.   Aside from the obvious downsides (user doesn&#039;t know where the link will take them, if it&#039;s compatible, link looks like gobbledegook, etc) there is a rather more…]]></description>
										<content:encoded><![CDATA[<p>I'm not a big fan of URL shortners - bit.ly, t.co, goo.gl, ow.ly, etc - I understand the need for them, but they seem to offer a fairly poor service in terms of privacy and usefulness.</p>

<p>Take this recent example from Vodafone.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/07/Vodafone-SMS.png" alt="Vodafone SMS" title="Vodafone SMS" width="512" height="245" class="aligncenter size-full wp-image-6097"></p>

<p>Aside from the obvious downsides (user doesn't know where the link will take them, if it's compatible, link looks like gobbledegook, etc) there is a rather more interesting issue.</p>

<p>Goo.gl - along with many other URL shortners - give <em>everyone</em> access to your statistics.</p>

<p>Visiting <a href="http://goo.gl/#analytics/goo.gl/NdVGI/all_time">http://goo.gl/NdVGI+</a> will let you see <strong>everything</strong>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/07/google-vodafone-stats.png" alt="google vodafone stats" title="google vodafone stats" width="600" height="380" class="aligncenter size-full wp-image-6099">

<p>I don't know how many messages were sent out, so it's hard to calculate a response rate.</p>

<p>From the map, I can see the two target areas were UK and (unsurprisingly) Greece.  There are a few hits in other countries - that could just be people connecting via WiFi networks routed through that country.</p>

<p>There are also a few hits from iPhones - suggesting either the targeting wasn't accurate, or people are spoofing the iOS user agent.</p>

<p>Still, it's an interesting insight into Vodafone's marketing.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=6096&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/11/the-perils-of-url-shortners/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[NaBloPoMo - Stats]]></title>
		<link>https://shkspr.mobi/blog/2012/11/nablopomo-stats/</link>
					<comments>https://shkspr.mobi/blog/2012/11/nablopomo-stats/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 01 Nov 2012 07:00:15 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=6390</guid>

					<description><![CDATA[As we enter another NaBloPoMo - where I try to write a blog post each day in Novemeber - I thought I&#039;d take a look back at how this blog has developed.  On Friday, October 30, 2009, I switched on WordPress statistics so I could get a better idea of what was popular on my site. My average traffic back then was 80 visits per day.  Not bad for a backwater blog.  Since then, my writing has been…]]></description>
										<content:encoded><![CDATA[<p>As we enter another <a href="https://web.archive.org/web/20121102181022/http://www.blogher.com/sign-novembers-nablopomo-and-join-blogging-party">NaBloPoMo</a> - where I try to write a blog post each day in Novemeber - I thought I'd take a look back at how this blog has developed.</p>

<p>On Friday, October 30, 2009, I switched on WordPress statistics so I could get a better idea of what was popular on my site. My average traffic back then was 80 visits per day.  Not bad for a backwater blog.</p>

<p>Since then, my writing has been getting better (I hope), my content has become more interesting, and I've had several stories which have spread far and wide.</p>

<p>The blog now gets ~600 visits per day.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/11/monthly-blog-stats.png" alt="monthly blog stats" title="monthly blog stats" width="600" height="199" class="aligncenter size-full wp-image-6476">

<p>What I find interesting is that it's some of the older posts which get the most regular traffic.  This post about <a href="https://shkspr.mobi/blog/2009/05/nitdroid-installing-android-on-the-nokia-n810/">getting Android to run on Nokia phones</a> is often in my "top ten" list - despite being published over three years ago.</p>

<p>May 12, 2012 was the busiest day with 17,186 views thanks to this article about the <a href="https://shkspr.mobi/blog/2012/05/the-sim-less-phone-is-coming-and-it-should-scare-the-shit-out-of-you/">SIM-less Phone</a>.</p>

<h2 id="arbitrary-milestones"><a href="https://shkspr.mobi/blog/2012/11/nablopomo-stats/#arbitrary-milestones">Arbitrary Milestones</a></h2>

<p>I'm not sure how accurate the stats are, but since they were set up (two years after this blog started) I've had <strong>470,034 views</strong> in total.</p>

<p>So, my goal is to get to the half million mark.  Hopefully by the end of NaBloPoMo or, more realistically, by the end of 2012.</p>

<p>Here we go!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=6390&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/11/nablopomo-stats/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Browser Statistics for UK Government Websites]]></title>
		<link>https://shkspr.mobi/blog/2012/10/browser-statistics-for-uk-government-websites/</link>
					<comments>https://shkspr.mobi/blog/2012/10/browser-statistics-for-uk-government-websites/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 11 Oct 2012 11:16:53 +0000</pubDate>
				<category><![CDATA[politics]]></category>
		<category><![CDATA[gov.uk]]></category>
		<category><![CDATA[statistics]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=6383</guid>

					<description><![CDATA[One of the great things about publicly blogging for the last 5 years, is that I can remind myself of what I was doing this time last year. Or several years ago.  The Terence Eden of October 2009 was a busy chap! 22 blog posts! What a guy :-)  One post which caught my eye recently, was asking &#34;What are the browser statistics for 10 Downing Street?&#34;  Here was their answer  UK Prime…]]></description>
										<content:encoded><![CDATA[<p>One of the great things about publicly blogging for the last 5 years, is that I can remind myself of what I was doing this time last year. Or several years ago.</p>

<p>The <a href="https://shkspr.mobi/blog/2009/10/">Terence Eden of October 2009</a> was a busy chap! 22 blog posts! What a guy :-)</p>

<p>One post which caught my eye recently, was asking "<a href="https://shkspr.mobi/blog/2009/10/browser-statistics-of-10-downing-street/">What are the browser statistics for 10 Downing Street?</a>"</p>

<p>Here was their answer</p>

<blockquote class="social-embed" id="social-embed-4549222839" lang="cy" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/10DowningStreet" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRugAAABXRUJQVlA4INwAAABQBgCdASowADAAPrVGoEmnI6MhLjgMyOAWiWkABRAe255KmcvngTIHZUZBs7q+gBls3fOCafekoFoRAAD++fsTk7Rl64MygtEv7WfR+YvwKawSuOB34F76rSTwynqUi4e2s52811JwS6k6w5xaP90fx+/gCgEdHTmIEDTtSYi2J86lXj1RTOB/HfXJ9y/+qi5oKgkFt3TsGTzoBxfTjAx6S1VWeCy3jYbtBusa2YuTW8fOOzY+7G07555Mula3+V5pNC8fVL5WUMBbZM8/1jxXJp/z/vAzIxNqIAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">UK Prime Minister</p>@10DowningStreet</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/4529469389">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Top are: IE7 22%, IE8 20%, IE6 12%, Firefox3.5.3 9%, FF3.5.2 7%, FF3.0.14 5%, FF3.0.13 4%, Safari 4.0.3 4%, Chrome 2.0.172.43 2%</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/10DowningStreet/status/4549222839"><span aria-label="2 likes" class="social-embed-meta">❤️ 2</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2009-10-02T09:46:44.000Z" itemprop="datePublished">09:46 - Fri 02 October 2009</time></a></footer></blockquote>

<p>So, three years later, how have things changed?</p>

<p>Firstly, I asked the team behind the (still in beta) GOV.UK</p>

<blockquote class="social-embed" id="social-embed-256332331424559106" lang="nl" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><blockquote class="social-embed" id="social-embed-256276366373298176" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">Anyone from <a href="https://twitter.com/GDSTeam">@GDSTeam</a> know if they'll be releasing browser statistics - or any other user metrics? <a href="http://shkspr.mobi/blog/2009/10/browser-statistics-of-10-downing-street/">shkspr.mobi/blog/2009/10/b…</a></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/256276366373298176"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2012-10-11T06:13:41.000Z" itemprop="datePublished">06:13 - Thu 11 October 2012</time></a></footer></blockquote><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/SamJSharpe" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRvoBAABXRUJQVlA4IO4BAADwCgCdASowADAAPqVGm0mmJCKhNVqqqMAUiUAYbP/o2daPjGByVanOKwyJUDcmz9+08Cz7aDonkSabt+PbZqO4qXcAOXnly+5Fv/8R5v6yA1qQ3GVBJdeuOi6hcf8TtYAA/vnRf4dasZBCbZ4rSNz6mxsoGfZX3xkcXh+djhWntULV0mNlKleFjx5CslndUp0p9FUDu65x0ffI/qJlPrptuztDW9uB9JGR4dVJsgTsycVN6pg/KLyRG/xZ9DxOUcK2or61HDeicd2LPKg70RhC6qTnsB6jfsLlY+OsWr2T2m6K1EErdQ/ZRyL7PZkhzTBt+MEuSHgPZOqU4YOYLtnJjGXNVnFFiVjeJL0tu8JZVsL13HPp02TJQ2y5Rf5BKL10jtEW3f8Up3n3Ojj50qJCeDk5QxnwZygf3tFDfg7hEHLzQv8nQ/NbQC3AwwLNKgo+f6eIZinJ+DZkKKlHImVOCwCj8hC97wWwBi2+ag6SB2gnrRuCE5pkFj3M7+rWIzd9Pv5goCOrEy8R03qZPrqiwG8ElEyJPcMTDh54MEt8DntAlMcKAJdkqMjdbgqXGy7M3TZ5wP/76E1SoKalznKr1I22kTIwxZFVaQwfyASrlN1TfLJwvISFQKHgUpjq0gS9+iMl0Sf2ZbkHrwAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Sam Sharpe</p>@SamJSharpe</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/256276366373298176">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> very rough stats (-bots -spiders): FF 28%, IE&lt;6 10%, IE7 12%, IE8 21%, IE9+ 13%, Safari 11%, Opera 3.5% /cc <a href="https://twitter.com/GDSTeam">@GDSTeam</a></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/SamJSharpe/status/256332331424559106"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2012-10-11T09:56:04.000Z" itemprop="datePublished">09:56 - Thu 11 October 2012</time></a></footer></blockquote>

<p>Then, I asked for the whole of the parliament.uk space</p>

<blockquote class="social-embed" id="social-embed-256335836738633728" lang="nl" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><blockquote class="social-embed" id="social-embed-256334581853216768" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/blangry/status/256333429078110208">Replying to @blangry</a></small>@blanalive If you've got any going. Would be better to have them published regularly than on an ad-hoc basis.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/256334581853216768"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2012-10-11T10:05:01.000Z" itemprop="datePublished">10:05 - Thu 11 October 2012</time></a></footer></blockquote><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/blangry" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRlgDAABXRUJQVlA4IEwDAAAQDgCdASowADAAPqlImkmmJKKhNV1YAMAVCWwAnTK9fjSIbhoqFvX0kbZe7lZQD6i7x/Jr9HaHsgrZ5ZXGB3yRoHQEakvV9wkxa/XnnSTAHu9D0MKnOWDiy7kx9tFYO339i7DvueJkHc3eRJa+6m6SSOHqguHCIg7gAP7s4gflUilUqyt6dhlf6VXmaJ7pps7cDOYts/KB3ji1z27C9jyU+h2x0QZuk8/LDyEeQ3gywEc7kgOTt1Jsm2YQfz9NuG3NdMmfIvgjzrrh86H4vfq16PmK7/r4v3GU0UB/9o31PZe3B7gkzikyddoR0L0pVsyNl6wukFQkYNGY+AwK8sUHkpZM9ysqVWN1CAX6N7/BLRRTUEMTf9CYsiNcANLgkJbSp/ner752YrTyT3UeC5pZphSD5Sb8EoKf9JWngwb2cGcYZN+JW/Okk2dqlc8dPTtGYiGhSIaz6GZF1OPwYsUcsB4/JzZRPe9/EMjTC9rgABgRYaKUkGoaDNxUYIJZ3aVeClDClwIPp/tGCJgQ60KWSlVgToYOzCBMSVwlltFnl08rsqGngfH7oMVDN/8I3CqYnLK2d5afJZjzH0qxYgg0olaGkJkvZ/KQgXKRgMGpJ4mbcG7vOT9UKAwNl2G9oC7MuMd3NIpfNThrozAXc8qZCB3ah9FaGg5j9WML5Q+rmPblH2zSh/3m1fbHeoe7MsUSoMWpRhVOHdw85f4fggLGe81V/FuUhmty9mH+42b8/SuVlLMeSCYJrWddUx5H88aoP5i9fXzQanmCQ2V8HOZL6gqlSGAXFcHSBYA3ZHGSmmCF+/bSyb5YA5reNE9En1TwfxqaQ/Q2LSaXdTQoPqmFhALvv1cDa/jF67uDNKVmtfoh11TE+I6n/++vDLbVxSKiPpuZHdK1/6SjwxWvvzP9p/5AVj9PidfKWlhP1lzEe4RCHZhJaz9vpbhmO/tFV7bsKtvMHvd9ENcvgtQ1CmOuooQcnlqShoxcMpOjcKKhIT4JM6XPUkqHCr3piGpm4Bpnn9R0mTfuZPGrJE5nPtVRNxezToBhkMxEUa85FiAjrqRGQJe5DVFPMz9HbmtOQYSrlTx4TT5wsayHWI6bAEcHuLHwtPICqeG8WZQA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Alex</p>@blangry</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/256334581853216768">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> IE8 23% IE9 17% Chrome 21/22 16% FF15 7.7% IE7 6.5% Safari 4% IE6 1.6%</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/blangry/status/256335836738633728"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2012-10-11T10:10:00.000Z" itemprop="datePublished">10:10 - Thu 11 October 2012</time></a></footer></blockquote>

<p>These are, as they say, to be taken with a pinch of salt.</p>

<p>It's interesting to see the collapse of IE6, and the huge rise in Chrome.  More interesting still, is the difference between the general parliamentary site and GOV.UK.  There also doesn't appear to be a significant mobile presence - unless they're rolled up into the main stats.</p>

<p>One thing is for sure, it would be great to see these sort of official statistics regularly. Not least to counter the "must support IE6" and "Who on Earth uses Chrome" crowds.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=6383&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/10/browser-statistics-for-uk-government-websites/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Train Tickets With QR Codes]]></title>
		<link>https://shkspr.mobi/blog/2012/04/train-tickets-with-qr-codes/</link>
					<comments>https://shkspr.mobi/blog/2012/04/train-tickets-with-qr-codes/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 24 Apr 2012 14:52:42 +0000</pubDate>
				<category><![CDATA[badvertising]]></category>
		<category><![CDATA[qr]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[QR Codes]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[trains]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=5610</guid>

					<description><![CDATA[No, I&#039;m not talking about Masabi&#039;s innovative technology, but of this rather odd bit of advertising found on the back of a train ticket.  There&#039;s no specific call to action - but there&#039;s not much space to play with. Let&#039;s give it a scan...   sigh A non-mobile site. With an Adobe Flash plugin in the top right which won&#039;t work on any iPhones.  Why on Earth do marketing companies insist on pointing…]]></description>
										<content:encoded><![CDATA[<p>No, I'm not talking about <a href="http://www.masabi.com/">Masabi's innovative technology</a>, but of this rather odd bit of advertising found on the back of a train ticket.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/04/QR-Codes-on-Train-Tickets.jpg" alt="QR Codes on Train Tickets" title="QR Codes on Train Tickets" width="512" height="384" class="aligncenter size-full wp-image-5611">
There's no specific call to action - but there's not much space to play with. Let's give it a scan...
<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/04/Train-Tickets-non-mobile-friendly.png" alt="Train Tickets non-mobile friendly" title="Train Tickets non-mobile friendly" width="240" height="400" class="aligncenter size-full wp-image-5612"></p>

<p><em>sigh</em> A non-mobile site. With an Adobe Flash plugin in the top right which won't work on any iPhones.  Why on Earth do marketing companies insist on pointing phones to non-mobile sites. It really bemuses me.  Stations rarely have good signal (too many people leads to local network congestion) and, besides, large sites are a right pig to use on a small screen.</p>

<h2 id="stats"><a href="https://shkspr.mobi/blog/2012/04/train-tickets-with-qr-codes/#stats">Stats</a></h2>

<p>I've blogged several times about using <a href="https://shkspr.mobi/blog/tag/bit-ly/">Bit.ly links in QR codes</a>. With a little bit of hacking (adding at + character to the end of the URL) we can <a href="https://web.archive.org/web/20121025161617/http://bitly.com/yCFLtT+/global">see how many people have been scanning the code</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2012/04/QR-Click-Stats-Rail.png" alt="QR Click Stats Rail" title="QR Click Stats Rail" width="480" height="506" class="aligncenter size-full wp-image-5613">

<p>I don't know how many of these tickets have been printed. That might be a really good conversion rate - but I doubt it.  I only noticed the QR code because someone had dropped their ticket and it landed face-down. Realistically, how many people look at the back of their tickets?</p>

<p>The best campaign in the world would fail if it's not put in front of an audience.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=5610&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/04/train-tickets-with-qr-codes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
