Friday, May 1, 2015

Proud of my Masters Program in OR Winning the George D Smith Prize

This year's INFORMS Business Analytics and Operations Research conference was held in Huntington Beach, California. Excellent talks on really relevant topics. Great conference, networking and top organizers. :)

Best of all, my former masters program in Operations Research, the Centre for Operations Excellence at the Sauder School of Business, University of British Columbia, won this year's George D Smith Prize. This is the field's top prize recognizing some of the best education programs.
The UPS George D. Smith Prize is awarded to an academic department or program for effective and innovative preparation of students to be good practitioners of operations research.

I was honoured to be at the gala event, and ecstatic for the program's win. My career would not have looked quite the same without the program. So happy for them.
"I am indebted to my father for living, but to my teacher for living well." - Alexander the Great

"There are two kinds of teachers: the kind that fill you with so much quail shot that you can't move, and the kind that just gives you a little prod behind and you jump to the skies." - Robert Frost

Sunday, November 23, 2014

Spam gets a personal touch: Human 1, Machine 1

Blogging and spamming practically come hand in hand. The obvious ones have been pretty well controlled by the major blogging platforms' spam filters, thanks to advances in text analysis and machine learning algorithms. However, it is not perfect, or is it - you be the judge in this case.

This could be an example of how creative spammers are at combating algorithms.

Or, it could be an example of a business owner trying to do his own selective SEO (search engine optimization).

An old post on mandatory school uniforms got the following spam:
I think school uniforms must be compulsory in schools because after one time-investment in the uniform, it prevents the child from the traits of social inequality,inferiority complex etc.And If you have decided to buy the uniform, buy it from Wang Uniforms (link removed)

I speculate that a human wrote the comment, because it is a sensible comment, and also because of the grammatical, punctuation and spacing errors.

However, the link, which I removed for this post, does point to a legitimate school uniform maker in the UAE. I suppose there are two possibilities:
1) The uniform business had legitimately read the article, had something genuine to say, and also wanted to promote its own business.
2) The uniform business hired a spammer / mass commenter to do the job for SEO purposes.

I had a bit of a hard time deciding whether this is spam or not. Since I cannot edit the comment to remove the link, I rejected the comment. Especially after I found out that the profile for the commenter was some jewelry shop in South East Asia - nothing to do with uniforms.

Algorithms are never perfect. The underlying uncertainty is why we build algorithms at all. Given I the human had trouble identifying the authenticity of this comment, I'm glad the machine (spam filter) didn't just rule it out.

So... Human vs Machine: Human 1, Machine 1?


P.S. Unrelated, but this is quite funny. Don't be fooled by the title.
Visualizing Big Data

Tuesday, February 11, 2014

What I learned from a sabbatical year

I spent 2013 'overlanding' through South America with my partner. 1 year, 1 continent, 1 simple car, 2 people, 13 countries, 40,000 km. After moving from Canada to the UK 5 years ago, and setting up a new life there, we gave up our jobs, salary, friends and all the comforts of life in one of the greatest metropolis in the world. A lot to let go, but we gained so much more.

Above all, I learned how little I need to live on to be happy, material-wise. We converted the back of our little van into a bed, so we slept in it a lot of the nights. Wild camping at some bizarre and cool spots, like 24-hour gas stations and garages, road-side somewhere in the country, cliff edge by the sea, a lot of central plazas and town squares, in front of police stations (with permission), and once within a secure military compound. The living was rough, and it took some getting used to. I had very few possessions; I was happy; and my eyes were filled with wondrous things throughout the year.

Communities kick ass in supporting overlanding travellers of all modes, by car, motorcycle, bicycle, uni-cycle or even by donkey(!). A few hundred people gathered on a Facebook group were the best near real-time information providers. Almost all overlanders are super eager to share information with each other and help, because we've all known a few hard moments on the road. Most people have never met each other in the cyber community, but are ready to answer questions when asked.

One can have too much of a good thing. I love travelling, and still do. 60+ countries later, my imaginary list is still quite long. Doing a year of pure travel is super fortunate, and I almost don't dare to utter that sometimes I found it hard to drag myself for the 11th time in 3 months to drive through yet another beautiful wine country with breath-taking alpine scenery, or more Andean mountain villages, or serene beaches... etc.. Managing the trip is a huge challenge, but I also missed work a lot, missing the other challenges. So, in the evenings I:
  • brushed up on R and some Machine Learning techniques through Coursera (awesome!)
  • learned something new, OctavePython, more Machine Learning techniques
  • read a lot of blogs on ORanalytics and data science
  • wrote a few blog articles here (definitely neglected when I was working a busy job)
  • thought long and hard about what I want to do when I get back

A bunch of random stuff I learned a bit about:
  • Navigating in places I've never been before. "Don't listen to the British lady (aka the GPS voice), she's never been to Venezuela", and she's leading us down a dead-end.
  • Spotting and dodging potholes, rocks, livestock, cowboys, donkey carts, tree stumps, burned tires (12 day riot aftermath), flying fallen ladder (kid you not from the truck 15m in front at 90km/hr), alignment-breaking and bottom-scraping grooves in the road from heavy Brazilian trucks ... ...
  • Making it Swimming through potholes the size of a swimming pool, with muddy and seemingly endless bottoms, with a 2x4 car that had 6" clearance (nope, didn't get stuck even once! 4x4 is not a necessity for everyone)
  • Fixing cars and dealing with mechanics, and their other-worldly Spanish
  • Playing with the police to always avoid paying bribes (wasn't too often)
  • Finding out just how friendly people are (lots of home-stay invites)
  • Playing the Quena (Andean flute) is way harder than it seems - sticking with my uke instead
  • Optimising the journey in Travelling Sales Man fashion (had to return to the origin to sell the car) - yes, Operations Research is useful in every walk, or drive, of life
  • Optimising decisions under uncertain conditions
  • And of course, learning Spanish, with all sorts of accents and idioms, and the 13 countries' history, culture, landscape, food and people (P.S. mechanics and old country farmers are really hard to understand)

Having finished the year-long journey over a month ago, I was inspired to write this article after reading "Why I put my company on a year-long sabbatical". This is not a PR article, but one to say that anyone can do this sabbatical thing, and you will learn a ton. You don't need the best car all decked out. You don't need to be young. You don't need to be retired. You don't need to be without kids (met a lot of families, with kids from 6-months to 17-year olds). You don't need to have a partner. You don't need to be rich (our all-in costs: £10,000 per person, assuming 2 people sharing). Actually, you will learn how little you need at all. All you need is a bit of discipline to save some money, a bit of gut to throw yourself at it, some luck and common sense to be safe, and a lot of curiosity to explore.

In case you are inspired to consider a sabbatical year, here are some great overlanding resources:


2014 is going to be great. I am never more ready.
First step, land an awesome job.


Thursday, January 23, 2014

Finally Some Sense on Analytics & Data Science Job Ads

After yesterday's post on the state of the debate on building data science teams (individual vs team approach), it's so refreshing to stumble onto this careers page of Civis Analytics. Great example of Analytics & data science job ads done right. This page alone makes me want to apply to work there!

They actually divide their jobs into: data scientist, engagement analyst, project manager, software engineer!

data science analytics roles done right: software engineer, data scientist, engagement analyst, project manager












How sensible. I like it! 
Nothing like the typical data science job posts, asking for "everything and the kitchen sink".

Wednesday, January 22, 2014

Building Data Science Teams: Individuals vs Team - State of the Debate So Far

Since my last article on "Hiring 1 Data Science unicorn is hard enough, a team is impossible. To scale means to specialise", similar ideas have been expressed by InformationWeekMcKinsey/HBR, and KDnuggets (here, here, here and here).

There has a been a ton of great discussion. I attempt to summarise the viewpoints so far: 
  • Data Scientists are supposed to have some pretty deep expertise in some pretty hard areas (see diagram). 
  • Is it possible to close this talent gap when we seem to be chasing after superheroes or unicorns? (there are some, but very few)
  • Some (44%) think there should be data science sub-specialisations (which all exist today), and have them work together in a team.
  • Others (44% too) prefer the superhero approach - individuals who have it all

Opinions so far on the approach of team vs individuals to build out a data science team are as follows:


For Team / against individuals For Individuals / against team
for bigger companies for smaller companies (can't afford)
Easier to find all necessary skill-sets Easier to get things done (no coordination friction)
Don't fall apart if an individual leaves
Jack-of-all trades, master of none; Deep expertise more possible in team Automation tools will take over data engineering & cleaning from DS jobs, so can concentrate on modelling
Business domain expertise & soft skills are hard to find in math/quant majors  Higher-ed will turn out DS superstars soon, who will have the combined maths/computing skills
A good team has both Specialists and Generalists
DS is a field that's evolving fast, and so will these opinions
You want an all-round DS guy/gal to get you started, or 2-3 of them who round each other off. As your team grows with demand, it will become increasingly difficult to find those all-encompassing individuals, so your team will naturally be people with 1-2 of the DS skills.


If you are still keen to know more about what data scientists do, and who they are, listen to these DS guys talk:
  • Amazon's principal engineer: John Rauser, "What is a career in big data?" - 17 minutes of a very good stepped-back view of data science.
  • Cloudera's director of data science: Josh Wills, "Life as a data scientist" - some good nuggets in there at minute 10, 16, 25, 52:
    • "I'm a competent statistician... I'm a competent programmer... I would not say I am good... I am capable of having a conversation at each of those fields with them..."
    • "Scientists get linear regression...but they don't get the difference between linear regression and logistic regression...or the assumptions that underlie the regression models", like normal distribution of the variables for linear regression; it's more of a "mechanical" exercise to turn the crank on the data without understanding the assumptions that support the model
    • Kaggle has "done most of the hard work [for the competitors]". In my opinion, the guys who are competing are good at using the ML tools on a clean'ish data set; but it doesn't exactly test their ability to go from a business problem to a "mental model of the data required" to the type of problem to solve (segmentation, regression, etc...)
    • what stats to learn for someone from the computer engineering side of data science: "learn linear regression, t-tests, confidence intervals, binomial random variables, exponentially distributed random variables, ... the core stuff, really, really well"

P.S. After writing this all out, it sounds so obvious. But believe me, there has been so much debate around this topic, and I wanted some... sense. Go read those articles linked at the top if you want to know.

Monday, December 16, 2013

Hiring 1 Data Science unicorn is hard enough, a team is impossible. To scale means to specialise.

The Data Scientists need a large set of skills, including business know-how, modelling and mathematics, plus programming. They are as hard to find as unicorns, or superheroes. I know this talent shortage first hand. Is the solution to create more unicorns, or can we devise better solutions?

In my last role as a managing consultant in the Operations Research and Analytics team of a large global consultancy, I also ran recruitment. Having spoken to or met 150-200 of such candidates personally, and my recruitment team saw multiples of this number, I can tell you not many of those candidates made the cut. That's because they didn't have all of the skills we were looking for. And we were only looking for the first 2.5 of the 5 core skill-sets of a data scientist below. "Good luck" is what people offer to this talent-search problem, but I think we can get around the unicorns.

The 5 core skills of a Data Scientist 

Expanding on the data science venn diagram, I think the following 5 skills deserve closer attention, separately*.
  • Business consulting (from problem definition to stakeholder and team management) :: what problem to solve
  • Analysis and modelling (maths, stats, physics, OR, engineering, etc. / note this includes coding) :: how to solve it
  • Communication and visualisation (artistic and functional, learn the visualisation tools) :: how to tell the story
  • Data engineering (take data in, store it, push data out: computer science) :: how to get the data for the solution
  • Programming (for enterprise use at production level, software engineering, integrating into BI systems, automated decision making embedded in operational systems) :: how to make the solution useful to a wider audience

Furthermore, each of the above have subfields and specialties, because they are complicated in their own right. It is not possible to be very good at so many things, not at scale anyway or to be above mediocracy at best. How many sportsman/woman excel at more than one sport, for example?

It's a lot to ask for one person. So, why ask just one person?

The thing is, these people all exist, have existed, and will exist. They are just separate individuals. They have labels like business analytics consultants, statisticians and modellers (operations researchers included), data visualisation experts, DBAs and software engineers. Yes, they are also talents in need, but they are not unicorns. If we need data scientists in troves, we need a team, not just a few geniuses.

The future I see is like the age old relationship advice: 

Don't try to change them. Instead, let's change how we work with them.

People should diversify a bit, for instance a modeller should be able to code, but ultimately they need to specialise in something they are good at. A modeller must be able to prototype on his/her own, which requires coding skills, but s/he shouldn't be expected to produce production-ready code for large scale applications. Similarly, asking a good modeller to do database administration and ETL tasks is a waste of talent, Hadoop or not.

Specialisation is the reason for humanity's proliferation. Therefore, I'd say it's not the people we need to change, but the system that we need to setup to allow such specialised workforce to team up together. It's lazy for the analytics field to put up its feet and just summon one person to provide it all.

As a starter-for-ten, I think the future of our field could be modelled after the traditional IT project group make-up:
  • The technical "purists": analytics modeller, data engineer, visualiser, programmer
  • The "bridge": more like a traditional business analyst
  • The "glue": project manager with business consulting skills
There will be complications to address. To name a few...topics for another post:
  • Who should start up your data science team?
  • What's the load balance? (how much of each skill to have)
  • How to coordinate the division of labour?
  • Where should they sit in the organisation?
  • How to prioritise the problems to set them working on?
  • How to manage this team?
  • What's the career path?


Where do you think the analytics field is heading to?


Disclaimer:
My views are definitely biased by my background: I am a manager in business analytics consulting, trained in Operations Research and Computer Science.

* My expansion on the data science venn diagram's 3 skills are based on various articles, such as O'Reilly guideIntro to DS skills, and job requirements on numerous current data science job posts.

Tuesday, November 5, 2013

From Operations Research to Data Science

In the last post, I wrote about how good it is to see OR linked as a skillset to data science. However, do note that OR is only one part of the DS skillsets. OR ≠ Data Science. How does an Operations Researcher transition to a Data Scientist?

There are a few things the O'Reilly book I talked about in the last post briefly mentions as suggestions for an OR person to learn more about: some of the new Bayesian / Monte Carlo Statistics methods, broad programming skills, data warehouse architecture for big data technology, and business kills "to be able to intelligently collaborate with (or lead) others on a data science team".


For those looking to upgrade, here are my quick thoughts on where to start.

Bayesian Data Analysis: Andrew Gelman from Columbia is running a course on Bayesian Data Analysis *right now*, with Google+ Hangout sessions. Looks very interesting.

Programming skills: see my previous post on learning R and Python - the languages of data science.

Big data architecture: in my experience, first understand the layers of a normal data warehouse architecture, then broaden to the enterprise BI architecture stack, then learn about the new bits for addressing the "big" aspect. I was fortunate to have led a fairly big project in this area, and had the opportunity to work with some great data warehouse architects and enterprise BI architects to learn a ton from them. I'm not sure what the best self-learning material is other than the typical read-a-lot. Wikipedia doesn't seem to cut it, and the best material that helped me aren't publicly available. Hmm...I will have to think about this - topic for another post perhaps. In the meanwhile, Pivotal seems to do a fairly good job in their blog to dumb down the explanation of the bits for "big" data technology in some practical terms.

Business skills: I think this only applies to academics (sorry for the generalisation). For the practitioners, i.e. OR people working in and with businesses, that's a fundamental part of our jobs.

Operations Research is a skillset of a Data Scientist

... according to O'Reilly, yes, it is. 
This is perhaps the clearest I've seen anyone link OR to Data Science. Or perhaps, depending on how you read it...it shows that some Data Scientists are OR people. OR is a subset of Data Science skills.

Data Scientist (DS) - a very popular label that seems to be associated with people kind of like us-OR-people these days (just like "analytics" has been for the last few years), but no one is completely sure exactly what it is. As a result, many of us are reluctant to call ourselves a data scientist, or don't know how to make the transition to be called one (see my next post on where to start). There is the Venn diagram, and examples from famous DS people like Nate Silver and Hilary Mason (who are identified more as statisticians than anything else), but confusions are still bountiful.

OR has always had a bit of an identity crisis - how many jobs have you seen with the words "operations research" in the title or description? Is "Data Science" here to help?

O'Reilly published a book, titled "Analyzing the Analyzers", which discusses the results and implications for people in these related fields, based on a survey they ran in mid-2012, with whom they consider as data scientists, and "how they viewed their skills, careers, and experiences with prospective employers". Their goal, best summarised in their own words, are, "in the broad Analytics / Data Science / Big Data / Applied Stats / Machine Learning space, ...to define these new fields better, and we hope the results will help people such as yourself talk about how your skills and your work fit in with everyone else's."

The main result was summarised into a 5X4 matrix (credit: O'Reilly), showing where the survey respondents are in terms of skills / expertise and the label they associate themselves with. 

The list of skills they grouped under "Math / OR" are: Optimisation, Math, Graphical Models, Bayesian / Monte Carlo Statistics, Algorithms, Simulation. Sounds familiar indeed.

Hooray for the mention of OR as a Data Science skillset!


I recommend reading the full report for more details. Here is a summary to give you a taste:
  • Four data scientist clusters
  • Cases in miscommunication between data scientists and organisations looking to hire
  • Why "T-shaped" data scientists have an advantage in breadth and depth of skills
  • How organisations can apply the survey results to identify, train, integrate, team up, and promote data scientists
(The last point above: it wasn't too comprehensive, so don't expect too much. More of a taster.)

Have you got what it takes to call yourself a Data Scientist? OR folks, see my next post on how to upgrade yourself (umm, didn't mean to make you sound like machines).

Friday, October 25, 2013

How to Learn Python and R, the Data Science Programming Languages, from Beginner to Intermediate and Advanced

The Data Science programming / analytics languages to know are, R and Python. If you're in Operations Research or another analytics field that somewhat fits under the "Data Science" hat, you: a) already know them really well, b) want to brush up on them, or c) you probably should learn them now. Here I compile my thinking on how to learn R and Python from Beginner to the Intermediate and Advanced levels, based on having tried some of these course materials.

Beginner (doing basic analysis)

R:

Computing for Data Analysis on Coursera and Youtube (weeks 1, 2, 3, 4), by Roger Peng from Johns Hopkins University

  • Summary: It covers the basics of conditioning and loop structures, R's syntax, debugging, Object Oriented Programming, performing basic tasks with R, such as importing data, basic statistical analysis, plotting and regular expressions. See syllabus for more.
  • Time commitment: 11~36 hours total, including: 
    • non-programmers: 4 weeks X [3 hours/week on video + 2~6 hours/week on exercises]
    • programmers: [3 hours of notes reading + 8~16 hours] on exercises
  • Advice for: 
    • non-programmers: Listen to all lectures (videos), make sure you understand all details, and do all the exercises to hone your skills. Programming is all about practicing. Doing the exercises are important. See below for "Advanced".
    • programmers: Don't bother with the videos, go straight to the lecture notes (link). Read the notes - much faster than the videos. if you don't understand anything, look up the video and watch, or google the topic. Then do all the exercises. You don't need me to tell you that practice is king (um, and cash too).

The swirl package within R, by the Biostatistics team at Johns Hopkins University
  • Summary: It aims to teach R and Statistics within the R environment itself, through a package called swirl. See the announcement here for more detailed info.
  • I haven't tried this, so I'm not sure how much time it takes or how good it is. However, I think it sounds pretty good, and deserves a mention. I was never a fan of reading books to learn a programming language. Show me the code, or in this case, let me write the code, and get involved, is much more, well, involving.

Python:

Google's Python course (link)
  • Summary: It's straight to the meat, no non-sense stuff, and covers all the important things. Suits my style. Enough said, so see the course page on the syllabus. 
  • Time commitment: 8-10 hours
    • including reading notes and doing exercises
  • Note, this is for experienced programmers. There are videos too, but don't bother. The notes on the course page are the same, and it always takes less time to read than watch.

Intermediate (building analytical models)

R:

Data Analysis with R on Coursera and Youtube (plus class notes), by Jeff Leek from Johns Hopkins University
  • Summary: It covers the full modelling cycle, from getting data, to structuring the analysis pipeline, exploring with graphs and statistical analysis, modelling (clustering, regression and trees), and model checking with simulation. It also talks about important statistical watch-outs like p-values, confidence intervals, multiple testing and bootstrapping. More syllabus here.
  • Time commitment: 32~56 hours
    • including 8 weeks X [2~3 hours/week videos + 2~4 hours/week exercises]


Forecasting using R (link), by Rob Hyndman from Monash University in Australia and Revolution Analytics (the enterprise R solution)
  • Summary: topics include "seasonality and trends, exponential smoothing, ARIMA modelling, dynamic regression and state space models, as well as forecast accuracy methods and forecast evaluation techniques such as cross-validation. Some recent developments in each of these areas will be explored" (quoted from course site). Read more there.
  • Note: I haven't done this (just started), so I'm not sure about its time requirement or quality. I'm also not sure if they are planning to make available the lectures. Time will tell on these questions.

Python / Octave:

Machine Learning on Coursera, by Andrew Ng from Stanford University --> My Favourite!
  • Summary: The course actually teaches in the Octave language, but it all can be done in Python. I suppose you can do it twice, first in Octave, and then in Python, if you've got the time. It certainly would solidify your understanding of the material, and Andrew Ng is sure that Octave is rather important in Machine Learning. It assumes some prior knowledge of linear algebra and probability, and refreshes you on some basics. "Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI)." (quoted from the course website)
  • Time commitment: 50~90 hours
    • including 10 weeks X [2~3 hours/week videos + 3~6 hours/week exercises]
  • Note: this course covers a subset of the statistical and modelling principles from the Data Analysis with R course above, but the overall level is more advanced. I enjoyed this course the most.

Advanced (you follow the drift from above)

Advanced = Experienced.
This is true for programming, analytics, and learning any foreign languages.

"Just do it", is how you get experienced.

There is no course on this stuff (i.e. being advanced), not without a PhD _plus_ years of field work.

My best suggestion is use your curiosity. Find a problem. Dig into it.

Plus, work with other people that are really good.



Happy learning!


Monday, October 7, 2013

The most efficient pizza shop - Ugi's in Buenos Aires

This blog post by the Operations Room, one of my favourite operations blogs, reminded me that I should write about the Argentine pizza chain, Ugi's. Its pizza was pretty good, but I was more fascinated by its operation of the stores and the business model, while visiting Buenos Aires (BA).

The business model


The product:
They sold one pizza. Exactly one type: mozzarella on tomato sauce on pizza dough.
No variations.

Size:
The whole pizza. Or by the slice.

Extras:
You can add condiments like chilli peppers and oregano, after you get the pizza, for free.
The cardboard box is extra.

Environment:
Basic and bare. No frills.
There is basically standing room only with very few seats and tables in the shops. Most people do take out.

--------------------------------------------------------------
The USP (Unique Selling Point):
Cheap.
Fast.

The result: Very popular! Probably the longest queue for food in BA.
--------------------------------------------------------------

The operation

Each shop had a big oven and 2 guys making the pizzas. That seems to be it.

Tasks of the pizza maker:
1. Work the dough and spin it out to lay onto a wooden pizza pan.
2. Ladle the tomato sauce from a big pot onto the dough, and smooth it over the dough with a circular smudge with the bottom of the ladle.
3. Cut a brick sized block of mozzarella from a giant block. Split it in half, and chuck it in the middle of the sauced dough. (It nicely melts all over somewhat evenly.)
4. Put the pizza into the oven.
5. Check on the other pizzas in the oven. Take them out onto the table when ready.

Tasks of the pizza giver:
6. Slice the pizza.
7. Box it. Or put a slice on a plate.
8. Hand it to the customer.
9. Take money.

I could have stared at the guy making pizzas for hours. It was so well practiced and smooth, since it's the only thing he makes all day long, by the hundreds, every day. It reminded me of some of the best run factories I've visited before. Precise. Lean and Mean. The simple business model makes it possible.

Change / Improve?

Do you find yourself asking, "Given their popularity, why don't they add 1 or 2 more flavours, like pepperoni or something?" or...why should they change anything?
  • I think for one, it would trade off speed with variety.
  • Secondly, they are already maxing out their capacity, so why add more. There's unlikely more revenue to be had, and I can't comment on profitability.
  • Thirdly, given their popularity, why should they change any of it? The customers clearly like it the way it is.

You can read more about Ugi's here.

As much as I love the parrilladas Argentinas, do have a Ugi's pizza next time you're in BA!

Thursday, August 29, 2013

Colombia's national agricultural strike can use some facts and numbers to aid the public discussions

Today, there is the largest yet march in the cities of Colombia during the country's nationwide agricultural paro (strike) by the campesinos (farmers). It's been 10 days so far. Students (suspending classes), truck drivers, health workers, together with miners, potato and other small farmers, coffee growers will all march today. The situation is fairly grave. You can read about the demands of the farmers here, but in summary, they are asking for financial help from the government for seeds, fertilisers, fuel and highway tolls. (FYI: Colombia's highway toll costs have been the highest in our year-long South America trip so far.)

Photo source: ElTiempo.com & NoticiasRCN.com, screen captures from here and here

A lot of emotions, but how much is all this financial help?

Not clear.

All the reporting by newspapers like this, this and this, only ever talk about whether the farmers and the government have reached an agreement, that the road block continues, that the food prices are rising due to shortage, that there are more blocks and marches, etc. Nothing concrete about how much all this financial help amounts to, not even a summarised high level figure.

Minimum: half a million US dollars.

The best I could gather was from this article, that the government has asked for 1 billion pesos (~half million USD) to be added to the agricultural budget. My best guess is that this is the minimum, because Colombia is not that expensive, but it's not that cheap either. Nothing on the news can tell me what the range of this ballpark figure could be though.


More likely: 20 million US dollars.
As this article suggests that earlier this year when there was a one-day strike by the farmers, this is the amount the government promised, but never materialised.

Note: none of the figures above says the time period. Is it over a year, or many years? No clue.
Also note the large range between the two figures.

Facts and numbers can help bring neutrality to the conflict.

As an outsider, there appears to be strong popular support for the farmers in the country, all based on sentiments though. It is a us the people versus them the government situation. 

There is very little facts and figures being discussed. Had the government analysed the costs of the agricultural financial help being asked for, and let the people know the consequences and the financial size of the negotiation talks, people would then have an idea to what degree their government can afford to help the farmers. These farmers are indeed quite poor, so images of their leathery and sunken faces shrouded in an earthy poncho arouse a lot of sympathy from the media and social media. 

Without concrete numbers, people are acting solely on emotions. Instead of posing the question, "can we as a nation help the farmers, and how much", it is instead a finger pointing exercise by the people to the government that they have forgotten about the country's farmers. The government has next to no sympathy from the people. Aggressive riots continue that are met by hoards of police in full riot gear. Bloody conflicts pursue day after day. People are getting angrier. There is only black and white, us and them in the story. No neutrality.

Is the government missing a great opportunity to introduce changes to its tax system?

In my opinion, this is a great opportunity for the government to do small step changes in its tax system. That is, IF they can outline the costs involved for the financial help to the farmers, so that the people can understand the consequences. Since there is strong popular support for the farmers, and assuming the government runs the country with money from taxation of the people it serves, the government should be asking the Colombian people to fund the farmer's agricultural activities through taxation.

The country's economy is growing a lot, despite a biased international image of a dangerous drug land. Its city people have a relatively high standard of living compared to its neighbours in South America. As tourists, we feel its prices and infrastructure is comparable to countries like Chile and Argentina. As the country grows more, its tax system is going to need reforms to fund all the nation's spendings, as it is relatively low right now compared to western standards. I cannot think of a better opportunity to introduce such changes. That said, there is a lot I don't know about the country!

Finally, where are the road blocks? Can I get around?

Read this list, updated daily.

Nope, there is no map.

I'm thankful for the information provided by the helpful service #767. At a glance though, without knowing the country's cities and towns super well, I struggle to know whether there are any open roads towards my destination.

Neither do I have a visual context of the scale of the road blocks.


As we sit here in Bogota, Colombia, totally stuck and unable to leave the capital due to rubber-tire-burning and rocky-fallen-tree-stumps road blocks setup by protesting farmers, we are selfishly annoyed by the disturbance to our year-long South American trip in a mini, self-made casa rodante (house on wheels). We don't want to risk driving through these road blocks, as our friends on the road had firsthand experience going through them. Although they pleaded their way through the blocks ultimately safely, they did also report incidents of rock throwing, tire puncturing, window breaking, etc., done to other cars. Some Colombians say the farmers won't do anything to us and our car, since we are foreigners, but tense conflicts do not always afford reasons. Therefore, we're waiting it out on our friend's couch.

Photo source: ElTiempo.com, screen captures from here


Special thanks to Angela, William, Julian and Sergio for generously accommodating us in and around Bogota. Colombians are such kind and generous people, helping us completely out of the blue, and in this case, accommodating us simply having met us in hotels or on the roads. Thank you. I wish for peace in your country.

Tuesday, August 27, 2013

More MOOC on Analytics - Coursera

A hoard of analytics related Massive Open Online Courses (MOOCs) are about to start in September. Have your pick on what to learn. Having taken a few Coursera courses now, I would recommend 1) not taking too many courses at once, however tempting it is to sign up to all of them, unless you have no other work or projects on the go. This is just to make sure you have a reasonable load and able to devote enough of your attention to learning the material properly. 2) Make good use of the discussion forums, as they are both a good source of clarifications and a window into other people's perspectives on the material. 3) Do the exercises, programming assignments and quizzes to ensure your understanding of the material.

Linear and Integer Programming
Starts 2 Sept 2013, 9 weeks, 5-7 hours/week
(the basics of mathematical optimisation, a core toolkit in the field of Operations Research)

Statistics One
Starts 22 Sept 2013, 12 weeks, 5-8 hours/week

Introduction to Recommender Systems
Starts 3 Sept 2013, 14 weeks, 4-10 hours/week

Computing for Data Analysis
Starts 23 Sept 2013, 4 weeks, 3-5 hours/week
As I've written before here.

Web Intelligence and Big Data
Starts 26 Aug 2013, 12 weeks, 3-4 hours/week

Thinking Again: How to Reason and Argue
Starts 26 Aug 2013, 12 weeks, 5-6 hours/week
Perhaps a bit off topic, but perhaps not, since all analytics are more or less rooted in proving or disproving arguments, so we better learn how to do it well.


Related article:
Coursera and the Analytics Talent Gap
Starting up in Operational Research: What Programming Languages Should I Learn?

Wednesday, August 14, 2013

Everybody likes to predict, but nobody likes being predictable, nor told what to do

The Netflix algorithm is in the news again.
The Science Behind the Netflix Algorithms That Decide What You’ll Watch Next

Netflix finds rating predictions are no longer as important, trumped by current viewing behaviour, i.e. what you are watching now. However, browsing through the comments, and again, you will see a generally negative reaction. Some people really hate being told what to watch, even if it's just a recommendation. Others say Netflix sucks, because it recommends things they've watched elsewhere. That sounds like a lack of understanding: if you don't tell Netflix you've watched something already, then how could it know?

As "big data" gets more media attention, it is reaching a wider audience who don't yet understand how algorithms work, but only know there are algorithms everywhere in their life, and it's scary to them. The lack of understanding seems to create fear and resentment.

LinkedIn and Facebook's recommendation systems for helping people find colleagues or friends they may know are generally well received, yet these film recommendation systems aren't. The difference between them might underline the success criteria of rolling out such recommendation systems.

Tuesday, August 13, 2013

Machine Learning in Movie Script Analysis Rouses Angry Reactions

An application of Machine Learning is covered in the news lately: movie script analysis.
Solving Equation of a Hit Film Script, With Data

They "compare the story structure and genre of a draft script with those of released movies, looking for clues to box-office success". However, the comments reveal that the general population (at least of the commenters) dislikes the concept for fear of anti-creativity.

Comments like these sum up the overall sentiment:
"Using old data to presage a current idea is both terrible and foolish. It is to writing what Denny's is to fine dining - mediocrity run wild."   
"Data crunchers will take the art out of everything. Paint-by-numbers."  

Ouch.
You be the judge whether this is a good application or not.

I tend to bias towards answers like this from the comments (sadly this was only 1 of 2 positive comments at the time of my reading; the other one was from the CEO of the script analysis business):
"I'm sure people have all sots of assumptions about what audiences like already. This data could be a tool to look deeper into these assumptions. Film makers have always wondered about consumer taste. It is a business. When commerce and art mix, there are inevitable compromises. This tool helps people see possible preferences based on past behavior. Information should never frighten us. It is how this information is applied that most deserves our attention." 

I think it also never helps the image of such machine learning practitioners when the journalist tries to paint him with an antagonist brush, such as "chain-smoking" and "taking a chug of Diet Dr Pepper followed by a gulp of Diet Coke and a drag on a Camel". Reminded me somewhat of another writer's writing style when covering analytics.

Monday, August 12, 2013

Our labels: data scientist vs statisticians (or OR)

A perennial discussion of identities in the world of analytics is making the rounds on the blogs of statisticians. Or wait a second, what should we call them?
Data scientist is just a sexed up word for statistician

Data Scientists, Statisticians, Applied Mathematicians, Operational Researchers...jus to name a few, are the labels one might apply to themselves in the field of analytics. How shall we label ourselves? I can't agree more with Nate Silver,
"Just do good work and call yourself whatever you want."

Value chain trumps good design - ColaLife

Babies in Africa suffer and die from diarrhoea, but it's easily treatable with medicines that costs pennies. The problem is getting the medicine into the mothers hands - a supply chain problem in a rural and sparsely populated area.

Here comes ColaLife: Turning profits into healthy babies.

Inventing medicine packaging to fit into coca cola bottle gaps is ingenious, but understanding the value chain, so that all hands that touch the supply chain of the medicine has an incentive to ensure its stock and flow, is even more important.

If there is only one message to take away, I would choose:
"What's in it for me?" 
Always ask this to make sure there is a hard incentive for all players to participate. Free give-aways are often not valued, resulting in poorly managed resources and relatively low success rate. Ample training and advertising for awareness and effective usage is also key for product / technology adoption.

Saturday, August 3, 2013

The Slightly Rosier Side of Gambling Analytics

Having posted about the ugly side of analytics - casino loyalty programmes, the Guardian's DataBlog caught my eye with their article on a rosier side of gambling analytics, where UK technology firm uses machine learning to combat gambling addiction.

Of course, a business is still a business. It needs to be profitable, so there are reasons more than just "let's be good". I list out below my take on the reasons for "them" the gamblers clients, and the reasons for "us" the casinos. Note, I simply assumed the machine learning study is sponsored by the casinos.

Just for "them":

Casinos too have a corporate social responsibility (CSP). Helping pathological gamblers, or identifying them before they become one is a nice thing to do.

For "them" and for "us":

More for everyone! They get to play more, and we get to profit more. The more people play a bit for longer is better than playing a lot for a short amount of time due to self exclusion lists. (I'm not sure which is the better evil of the two though...)
That's the business case. It's not all soft and cuddly like the CSP. Well, ok, business cases almost never are.
"If you can help that player have long term sustainable activity, then over the long term that customer will be of more value to you than if they make a short term loss, decide they are out of control and withdraw completely"

Just for "us":

Minimising gambling problems helps keep the country's regulators off the companies' backs, so they don't have to relocate when the country's regulations tighten. Relocation = cost. A lot of it.
Plus,
"And there's also brand reputation for the operator. No company wants to be named in a case study of extreme gambling addiction, to be named in relation to a problem gambler losing their house"


A side note: This reaffirmed why I don't gamble...it's a lose-win situation.

"A lot of casino games operate around a return-to-player rate (RTP) whereby if the customer pays, say £100, the game would be set up to pay back an average of £90. Different games will have different RTPs, and there are a few schools of thought on whether certain rates have different impacts on somebody's likelihood of becoming addicted.Some believe that if you lose really quickly, you'll be out of funds very quickly and will leave, and that a higher RTP will keep people on site, but others disagree"

I highly recommend reading the full article on the DataBlog.


Thursday, August 1, 2013

The Ugly Side of Analytics - Casino Customer Loyalty

While listening to This American Life's episode "Blackjack", its Act 2 had me in the car saying, "oh no, they did not!"  The "they" is the Caesars Entertainment Corporations (the casino), and yes, they have a customer loyalty programme that they use to "attract more customers", and claim it's no different than other such programmes in industries like supermarkets, hotels, airlines or dry cleaners.

Well...there is a wee bit of difference.

No one is addicted to dry cleaning.

I am saddened that analytics is used to help the casino loyalty programme and hurt the pathological gamblers. The show indicates that the programme identifies "high value customers" using loyalty cards, tracking all spend and results, and then offer them the "right" rewards to keep them coming back. Most addicted gamblers are "high value customers". The bigger the looser, the more the reward. Rewards include drinks and meals, hotel suites, trips to casinos (if you don't live there), to gifts like handbags and diamonds.

Analytics and Operational Research is supposed to be the Science of Better.

I'd like to call on all professionals in the analytics field to reflect on the moral goodness, or lack of, in your work.

There is still hope though. If casinos can use analytics to identify problem gamblers, then others can too. Given pathological gambling is a mental health issue, is it time for NGOs or governments to catch up with technology and get their hands on those loyalty card data?

Monday, July 29, 2013

Learn R with Coursera for Data Analysis

Heads up: the Computing for Data Analysis course is running in September 2013.

It will teach you the R language for data analysis. The course is described as:
This course is about learning the fundamental computing skills necessary for effective data analysis. You will learn to program in R and to use R for reading data, writing functions, making informative graphs, and applying modern statistical methods. 
In this course you will learn how to program in R and how to use R for effective data analysis. You will learn how to install and configure software necessary for a statistical programming environment, discuss generic programming language concepts as they are implemented in a high-level statistical language. The course covers practical issues in statistical computing which includes programming in R, reading data into R, creating informative data graphics, accessing R packages, creating R packages with documentation, writing R functions, debugging, and organizing and commenting R code. Topics in statistical data analysis and optimization will provide working examples.


Related article:
Coursera and the Analytics Talent Gap
Starting up in Operational Research: What Programming Languages Should I Learn?

Sunday, July 28, 2013

Even Google can't get their numbers straight

Google has so many various entities and products, either grown within the organisation or externally acquired. It appears that even Google, the leader in Data Science and Analytics, cannot get all the numbers straight across their products: Google Analytics vs. Blogger.

Is this blog really that popular? Really?

While I was checking this blog's traffic numbers on Blogger's built-in "Stats" function, I was really surprised that the blog seems to be really popular, even though I have not been good (sorry!) at writing much for some time. As an ex-SEO'er, I had an inkling that something is not right. Up comes Google Analytics.

Blogger Stats numbers are 4.5 times bigger than Google Analytics'.

After checking my Google Analytics (GA) numbers. I was really surprised to see that the Blogger Pageview numbers were 4.5 times bigger than the GA numbers. That is a staggering difference!

After some research on the web, I concluded that:
  1. GA is much closer to the truth (but not quite completely true, see 3 below).
  2. Blogger stats include all kinds of bots traffic, so it's heavily inflated (GA tries to filter most out).
  3. GA cannot count any traffic if the user has disabled Javascript. Some folks suggest it undercounts traffic by 50%, but there is no hard evidence to back it up, so take it with a grain of salt.
  4. Blogger seems set on reporting only Pageviews, not any other useful metrics, such as Visits or Unique Visitors. Not sure why.
  5. This blog has probably been targeted by a spam bot. Upon closer look, one of the bots probably comes from a particular Dutch ISP.

Share best practice and be consistent.

I would have expected Google, the leader in Data Science and Analytics, to share best practice amongst its entities and products, such as reporting on key metrics (not just Pageviews).

I would also have expected Google to be able to have a consistent set of numbers amongst its entities and products. Doesn't appear so neither.


The majority of a Business Intelligence (BI) analyst's job is spent verifying and reconciling numbers amongst various reports, more often than not. Major BI tech giants sell BI applications that often allude to reducing such activities and increasing business confidence in the numbers in their data warehouse. However, it is still a major challenge to most companies, as evidenced here. Without a good and reliable data source, the validity of any following analysis is heavily undermined.

Let's try to stay consistent.
That goes for the metric choice, and the numbers.


FYI: if you want to find out if and who is attacking your site with spam bots, read this helpful post.