<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Quantisan.com</title>
	
	<link>http://www.quantisan.com</link>
	<description>Ask not what your data can do for you - ask what you can do with your data.</description>
	<lastBuildDate>Tue, 08 May 2012 19:41:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Quantisan" /><feedburner:info uri="quantisan" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Quantisan</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Data science is a collaborative effort</title>
		<link>http://feedproxy.google.com/~r/Quantisan/~3/3Byjvyfdhv8/</link>
		<comments>http://www.quantisan.com/data-science-is-a-collaborative-effort/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 16:02:36 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Data Science]]></category>
		<category><![CDATA[data scientist]]></category>

		<guid isPermaLink="false">http://www.quantisan.com/?p=5744</guid>
		<description><![CDATA[The other day our marketing guy dropped a laundry list of reports that he wanted me to produce. I work with him sometimes so I don&#8217;t mind putting on a business intelligence hat occasionally to help him out. But I mustn&#8217;t forget that driving long-term values to the business is what I am good at, [...]
Related posts:<ol>
<li><a href='http://www.quantisan.com/my-talk-on-bootstrapping-data-science-in-a-company/' rel='bookmark' title='My talk on bootstrapping data science in a company'>My talk on bootstrapping data science in a company</a></li>
<li><a href='http://www.quantisan.com/data-scraping-the-toronto-stock-exchange-extracting-3660-companies-data/' rel='bookmark' title='Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data'>Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data</a></li>
<li><a href='http://www.quantisan.com/how-to-backup-your-data-on-the-cloud-with-ease-and-for-free/' rel='bookmark' title='How to backup your data on the cloud with ease and for free'>How to backup your data on the cloud with ease and for free</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>The other day our marketing guy dropped a laundry list of reports that he wanted me to produce. I work with him sometimes so I don&#8217;t mind putting on a business intelligence hat occasionally to help him out. But I mustn&#8217;t forget that driving long-term values to the business is what I am good at, so I had to say no to him. What&#8217;s supposed to be a quick chat with him ended up in a hour long discussion to show case what I&#8217;m working on and demonstrating that I can do so much more than count things for him. In short, if you want data, ask the business analyst; if you want to solve problems, let&#8217;s talk.</p>
<p>It&#8217;s been said that <a href="http://thinkrelevance.com/blog/2012/04/04/big-data-reference-model">Big Data analysis is a feedback loop</a>. However, I don&#8217;t think having the data science team toil away at data is the message. Who&#8217;s to say that analytical steps in a big data reference model can&#8217;t involve feedback from people in addition to models?</p>
<p>For the past week, I&#8217;ve been showcasing a new internal data product to various stakeholders in our business. This one data product is now leading to a new process for our accountant, a product for our online marketing manager, and an innovative company-wide metric. All of this happened because we collaborated rather than delegated tasks. Analysing data is not a one-way process. <a href="http://s.hbr.org/IIVNL0">Make it a feedback loop of math and people</a>.</p>
<p>Related posts:<ol>
<li><a href='http://www.quantisan.com/my-talk-on-bootstrapping-data-science-in-a-company/' rel='bookmark' title='My talk on bootstrapping data science in a company'>My talk on bootstrapping data science in a company</a></li>
<li><a href='http://www.quantisan.com/data-scraping-the-toronto-stock-exchange-extracting-3660-companies-data/' rel='bookmark' title='Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data'>Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data</a></li>
<li><a href='http://www.quantisan.com/how-to-backup-your-data-on-the-cloud-with-ease-and-for-free/' rel='bookmark' title='How to backup your data on the cloud with ease and for free'>How to backup your data on the cloud with ease and for free</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/5450aubp7omoQ32smU6U-z7ES3Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/5450aubp7omoQ32smU6U-z7ES3Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5450aubp7omoQ32smU6U-z7ES3Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/5450aubp7omoQ32smU6U-z7ES3Y/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Quantisan/~4/3Byjvyfdhv8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.quantisan.com/data-science-is-a-collaborative-effort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quantisan.com/data-science-is-a-collaborative-effort/</feedburner:origLink></item>
		<item>
		<title>My talk on bootstrapping data science in a company</title>
		<link>http://feedproxy.google.com/~r/Quantisan/~3/DDVt6qgQE3w/</link>
		<comments>http://www.quantisan.com/my-talk-on-bootstrapping-data-science-in-a-company/#comments</comments>
		<pubDate>Sun, 25 Mar 2012 09:15:34 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Data Science]]></category>

		<guid isPermaLink="false">http://www.quantisan.com/?p=5736</guid>
		<description><![CDATA[Related posts: Data science is a collaborative effort My 5 minute lightning talk on Cascalog Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data
Related posts:<ol>
<li><a href='http://www.quantisan.com/data-science-is-a-collaborative-effort/' rel='bookmark' title='Data science is a collaborative effort'>Data science is a collaborative effort</a></li>
<li><a href='http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/' rel='bookmark' title='My 5 minute lightning talk on Cascalog'>My 5 minute lightning talk on Cascalog</a></li>
<li><a href='http://www.quantisan.com/data-scraping-the-toronto-stock-exchange-extracting-3660-companies-data/' rel='bookmark' title='Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data'>Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><iframe src="https://docs.google.com/presentation/embed?id=19wVHXeMM_uOfGqDJszZdn4TyXvlKRRoxpf65HyiaK5A&#038;start=false&#038;loop=false&#038;delayms=3000" frameborder="0" width="480" height="389" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></p>
<p>Related posts:<ol>
<li><a href='http://www.quantisan.com/data-science-is-a-collaborative-effort/' rel='bookmark' title='Data science is a collaborative effort'>Data science is a collaborative effort</a></li>
<li><a href='http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/' rel='bookmark' title='My 5 minute lightning talk on Cascalog'>My 5 minute lightning talk on Cascalog</a></li>
<li><a href='http://www.quantisan.com/data-scraping-the-toronto-stock-exchange-extracting-3660-companies-data/' rel='bookmark' title='Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data'>Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/o6_Q_yrE-j6QissaKUZsiRNLvLw/0/da"><img src="http://feedads.g.doubleclick.net/~a/o6_Q_yrE-j6QissaKUZsiRNLvLw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/o6_Q_yrE-j6QissaKUZsiRNLvLw/1/da"><img src="http://feedads.g.doubleclick.net/~a/o6_Q_yrE-j6QissaKUZsiRNLvLw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Quantisan/~4/DDVt6qgQE3w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.quantisan.com/my-talk-on-bootstrapping-data-science-in-a-company/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quantisan.com/my-talk-on-bootstrapping-data-science-in-a-company/</feedburner:origLink></item>
		<item>
		<title>Cascalog-checkpoint: Fault-tolerant MapReduce Topologies</title>
		<link>http://feedproxy.google.com/~r/Quantisan/~3/1IuMOducl78/</link>
		<comments>http://www.quantisan.com/cascalog-checkpoint-fault-tolerant-mapreduce-topologies/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 09:38:32 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Systems]]></category>
		<category><![CDATA[Cascalog]]></category>
		<category><![CDATA[hadoop]]></category>

		<guid isPermaLink="false">http://www.quantisan.com/?p=5723</guid>
		<description><![CDATA[Cascalog is an abstraction library on top of Cascading for writing MapReduce jobs. Since the Cascalog library is maturing, the Twitter guys (core committers) have been building features around it so that it&#8217;s not just an abstraction for Cascading. One of which is Cascalog-checkpoint. It is a small, easy-to-use, and very powerful little add-on for [...]
Related posts:<ol>
<li><a href='http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/' rel='bookmark' title='My 5 minute lightning talk on Cascalog'>My 5 minute lightning talk on Cascalog</a></li>
<li><a href='http://www.quantisan.com/building-a-distributed-back-tester-with-hadoop-on-amazon-aws/' rel='bookmark' title='Building a distributed back-tester with Hadoop on Amazon AWS'>Building a distributed back-tester with Hadoop on Amazon AWS</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Cascalog is an abstraction library on top of Cascading <a href="http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/">for writing MapReduce jobs</a>. Since the Cascalog library is maturing, the Twitter guys  (core committers) have been building features around it so that it&#8217;s not just an abstraction for Cascading. One of which is <a href="https://github.com/nathanmarz/cascalog-contrib/tree/master/cascalog.checkpoint">Cascalog-checkpoint</a>. It is a small, easy-to-use, and very powerful little add-on for Cascalog. In particular, it enables fault-tolerant MapReduce topologies.</p>
<p>Building Cascading/Cascalog queries can be visualised as assembling pipes to connect a flow of data. Imagine that you have Flow A and B. Flow B uses the result from A along with other bits. Thus, Flow B is dependent on A. Typically, if a MapReduce job fail for whatever reason, you simply fix what&#8217;s wrong and start the job all over again. But what if Flow A takes hours to run (which is common for a MR job) and the error happened in Flow B? Why re-do all that processing for Flow A if we know that it finished successfully?</p>
<p>By using Cascalog-checkpoint, you can <em>stage</em> intermediate results (e.g. result of Flow A) and failed jobs can automatically pickup from the last checked point. An obvious thing to do but not something I&#8217;ve seen done in Hadoop. At least not as easy as this:</p>
<p><script src="https://gist.github.com/1915638.js?file=ccl-checkpoint-sample1.clj"></script></p>
<p>See <a href="http://sritchie.github.com/2011/11/15/introducing-cascalogcontrib.html">Sam Ritchie&#8217;s post on cascalog-checkpoint</a> for more examples.</p>
<p>Of course, you need to coerce your flows such that output from Flow A can be read by Flow B. However, this is almost trivial via Cascalog/Cascading. As this notion of mix and match pipes and flows is a fundamental concept in Cascalog/Cascading.</p>
<p>With so many choices of abstraction frameworks for coding MapReduce on Hadoop, I feel sorry for anyone using vanilla Java for writing MapReduce besides the most simplest or recurring jobs.</p>
<p>Related posts:<ol>
<li><a href='http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/' rel='bookmark' title='My 5 minute lightning talk on Cascalog'>My 5 minute lightning talk on Cascalog</a></li>
<li><a href='http://www.quantisan.com/building-a-distributed-back-tester-with-hadoop-on-amazon-aws/' rel='bookmark' title='Building a distributed back-tester with Hadoop on Amazon AWS'>Building a distributed back-tester with Hadoop on Amazon AWS</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/cLrp6RrkJg0sEMdlpvM1xfSxFWY/0/da"><img src="http://feedads.g.doubleclick.net/~a/cLrp6RrkJg0sEMdlpvM1xfSxFWY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/cLrp6RrkJg0sEMdlpvM1xfSxFWY/1/da"><img src="http://feedads.g.doubleclick.net/~a/cLrp6RrkJg0sEMdlpvM1xfSxFWY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Quantisan/~4/1IuMOducl78" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.quantisan.com/cascalog-checkpoint-fault-tolerant-mapreduce-topologies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quantisan.com/cascalog-checkpoint-fault-tolerant-mapreduce-topologies/</feedburner:origLink></item>
		<item>
		<title>A weather station data scrapper in R</title>
		<link>http://feedproxy.google.com/~r/Quantisan/~3/8uNqEBLEe7Y/</link>
		<comments>http://www.quantisan.com/a-weather-station-data-scrapper-in-r/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 11:49:25 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Quantitative Tools]]></category>
		<category><![CDATA[open data]]></category>
		<category><![CDATA[R]]></category>

		<guid isPermaLink="false">http://www.quantisan.com/?p=5717</guid>
		<description><![CDATA[This R code scrape publicly available weather station data given a weather station ID and a date range. I patched an existing source code from UC Davis so it&#8217;s not my original code. Thought I&#8217;d share it here anyway. It doesn&#8217;t fail safely though because a null return value would break the fetching loop. Related [...]
Related posts:<ol>
<li><a href='http://www.quantisan.com/data-scraping-the-toronto-stock-exchange-extracting-3660-companies-data/' rel='bookmark' title='Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data'>Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data</a></li>
<li><a href='http://www.quantisan.com/data-analysis-with-r-using-the-right-tool-for-the-right-task/' rel='bookmark' title='Data analysis with R: Using the right tool for the right task'>Data analysis with R: Using the right tool for the right task</a></li>
<li><a href='http://www.quantisan.com/why-success-starts-with-failure/' rel='bookmark' title='Why success starts with failure'>Why success starts with failure</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>This R code scrape publicly available weather station data given a weather station ID and a date range. I patched an existing source code from UC Davis so it&#8217;s not my original code. Thought I&#8217;d share it here anyway. It doesn&#8217;t fail safely though because a null return value would break the fetching loop.</p>
<p><script src="https://gist.github.com/1808134.js"> </script></p>
<p>Related posts:<ol>
<li><a href='http://www.quantisan.com/data-scraping-the-toronto-stock-exchange-extracting-3660-companies-data/' rel='bookmark' title='Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data'>Data Scraping the Toronto Stock Exchange: Extracting 3,660 companies&#8217; data</a></li>
<li><a href='http://www.quantisan.com/data-analysis-with-r-using-the-right-tool-for-the-right-task/' rel='bookmark' title='Data analysis with R: Using the right tool for the right task'>Data analysis with R: Using the right tool for the right task</a></li>
<li><a href='http://www.quantisan.com/why-success-starts-with-failure/' rel='bookmark' title='Why success starts with failure'>Why success starts with failure</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/aN-7XAmCGaOjS91r9LPi83xseFw/0/da"><img src="http://feedads.g.doubleclick.net/~a/aN-7XAmCGaOjS91r9LPi83xseFw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aN-7XAmCGaOjS91r9LPi83xseFw/1/da"><img src="http://feedads.g.doubleclick.net/~a/aN-7XAmCGaOjS91r9LPi83xseFw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Quantisan/~4/8uNqEBLEe7Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.quantisan.com/a-weather-station-data-scrapper-in-r/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quantisan.com/a-weather-station-data-scrapper-in-r/</feedburner:origLink></item>
		<item>
		<title>My 5 minute lightning talk on Cascalog</title>
		<link>http://feedproxy.google.com/~r/Quantisan/~3/6X1OBtVpxT4/</link>
		<comments>http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 18:39:55 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Quantitative Tools]]></category>
		<category><![CDATA[Cascalog]]></category>
		<category><![CDATA[Clojure]]></category>
		<category><![CDATA[hadoop]]></category>

		<guid isPermaLink="false">http://www.quantisan.com/?p=5709</guid>
		<description><![CDATA[Cascalog makes it a lot simpler to build distributed strategy backtesters on terabytes of market data, for example. It is a data processing library for building MapReduce jobs. I&#8217;ve been spiking out a data processing project with it at work for the past couple of weeks. So I thought I might as well give a [...]
Related posts:<ol>
<li><a href='http://www.quantisan.com/cascalog-checkpoint-fault-tolerant-mapreduce-topologies/' rel='bookmark' title='Cascalog-checkpoint: Fault-tolerant MapReduce Topologies'>Cascalog-checkpoint: Fault-tolerant MapReduce Topologies</a></li>
<li><a href='http://www.quantisan.com/monday-after-the-last-minute-market-dive-outlook-for-the-rest-of-the-day/' rel='bookmark' title='Monday after the last minute market dive, outlook for the rest of the day'>Monday after the last minute market dive, outlook for the rest of the day</a></li>
<li><a href='http://www.quantisan.com/my-talk-on-bootstrapping-data-science-in-a-company/' rel='bookmark' title='My talk on bootstrapping data science in a company'>My talk on bootstrapping data science in a company</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Cascalog makes it a lot simpler to build distributed strategy backtesters on terabytes of market data, for example. It is a data processing library for building MapReduce jobs. I&#8217;ve been spiking out a data processing project with it at work for the past couple of weeks. So I thought I might as well give a lightning talk about it at our monthly developers meetup. Here are my presentation slides introducing Cascalog and outlining its features.</p>
<p><iframe src="https://docs.google.com/present/embed?id=dgmktdkb_11m4xh8dgn&#038;size=m" frameborder="0" width="555" height="451"></iframe></p>
<p>The possibilities&#8230;</p>
<p>Related posts:<ol>
<li><a href='http://www.quantisan.com/cascalog-checkpoint-fault-tolerant-mapreduce-topologies/' rel='bookmark' title='Cascalog-checkpoint: Fault-tolerant MapReduce Topologies'>Cascalog-checkpoint: Fault-tolerant MapReduce Topologies</a></li>
<li><a href='http://www.quantisan.com/monday-after-the-last-minute-market-dive-outlook-for-the-rest-of-the-day/' rel='bookmark' title='Monday after the last minute market dive, outlook for the rest of the day'>Monday after the last minute market dive, outlook for the rest of the day</a></li>
<li><a href='http://www.quantisan.com/my-talk-on-bootstrapping-data-science-in-a-company/' rel='bookmark' title='My talk on bootstrapping data science in a company'>My talk on bootstrapping data science in a company</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/MX_1SqO5RMqqFNETLZB7NTBxa08/0/da"><img src="http://feedads.g.doubleclick.net/~a/MX_1SqO5RMqqFNETLZB7NTBxa08/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/MX_1SqO5RMqqFNETLZB7NTBxa08/1/da"><img src="http://feedads.g.doubleclick.net/~a/MX_1SqO5RMqqFNETLZB7NTBxa08/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Quantisan/~4/6X1OBtVpxT4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.quantisan.com/my-5-minute-lightning-talk-on-cascalog/</feedburner:origLink></item>
		<item>
		<title>Ask not what accuracy your algorithm achieves but what value it can add</title>
		<link>http://feedproxy.google.com/~r/Quantisan/~3/P8xYiLub5y0/</link>
		<comments>http://www.quantisan.com/ask-not-what-accuracy-your-algorithm-achieves-but-what-value-it-can-add/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 11:56:26 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Analytics]]></category>

		<guid isPermaLink="false">http://www.quantisan.com/?p=5694</guid>
		<description><![CDATA[Partnering with the marketing team at work earlier this month reminded me of an important lesson in my algorithmic trading. Our  external TV agency presented a mid-term performance analysis and I was tasked with performing due diligence on their analysis methodology. It took me 2 minutes to realise that they were using a linear regression [...]
Related posts:<ol>
<li><a href='http://www.quantisan.com/using-new-ma-algorithm-to-rewrite-old-indicators/' rel='bookmark' title='Using new MA algorithm to rewrite old indicators'>Using new MA algorithm to rewrite old indicators</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Partnering with the marketing team at work earlier this month reminded me of an important lesson in my algorithmic trading. Our  external TV agency presented a mid-term performance analysis and I was tasked with performing due diligence on their analysis methodology. It took me 2 minutes to realise that they were using a linear regression model. At first I thought it was too simplistic. Then I realised my own naivete because it was never about accuracy to begin with.</p>
<p>Measuring ROI on a marketing campaign is an illusive task. A quick metric is to perform a regression on the money you spent versus the revenue generated in the same time period. For example, let y(t) = x(t), where y represents revenue, x is marketing spending, and t is day. Plot your data on y versus x for a number of days. Then draw a best fit straight line to graphically show a correlation. If you&#8217;re feeling adventurous, throw in a few other factors that you think might have important influence on your daily revenue. Such that you have x2(t), x3(t), etc. This is what the agency did in their model.</p>
<p>One major flaw with using a regression model for this purpose is that it assumes each data point is mutually exclusive to another. So a day&#8217;s event does not influence another. This is simply not true in the real world. For examples, it might take a few days after someone sees your ad until they click your buy button or it might take more than a few showing of the ads until people take action. A better regression model for the first example is y(t) = x1(t &#8211; a), where &#8216;a&#8217; is the delay. And for the second example, y(t) = ∑x1(t &#8211; A), where A is a vector of &#8216;a&#8217;.</p>
<p>The problem with this is that finding &#8216;a&#8217; and &#8216;A&#8217; is another regression problem in and of itself. Luckily, this is conceptually what an Artificial Neural Network does, a series of regression models taking into account the interrelation of the factors and non-linear effects of the response.</p>
<p>And so, within the span of a few minutes of our conference call with them, I&#8217;ve just convinced myself in my mind to try another algorithm when I have a chance. That weekend I wasted a few hours on R tinkering with the data. Then it finally dawned on me. What is the value of this?</p>
<p>To calculate an ROI figure on our marketing campaign, is it necessary to spike a machine learning project just so we can be 95% confident on that figure? The justification is further weakened by the fact that ROI is merely one of the many metrics available when <a href="https://en.wikipedia.org/wiki/Marketing_performance_measurement_and_management">evaluating a marketing campaign</a>. So the impact of an accurate model versus a throw in the dart might not be worth spending an extra two weeks working on it whereas a throwing a dart takes only one command in R.</p>
<p>Related posts:<ol>
<li><a href='http://www.quantisan.com/using-new-ma-algorithm-to-rewrite-old-indicators/' rel='bookmark' title='Using new MA algorithm to rewrite old indicators'>Using new MA algorithm to rewrite old indicators</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/8KQSz5Cd8KMuKdMXFJLdiQKr9PQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/8KQSz5Cd8KMuKdMXFJLdiQKr9PQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8KQSz5Cd8KMuKdMXFJLdiQKr9PQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/8KQSz5Cd8KMuKdMXFJLdiQKr9PQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/Quantisan/~4/P8xYiLub5y0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.quantisan.com/ask-not-what-accuracy-your-algorithm-achieves-but-what-value-it-can-add/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.quantisan.com/ask-not-what-accuracy-your-algorithm-achieves-but-what-value-it-can-add/</feedburner:origLink></item>
	</channel>
</rss>

