One problem with success

One problem with success is that if you get too much of it before you’re ready, you’ll never dare to try again. Having enjoyed the glory of success, it doesn’t make sense to negate that glory through a subsequent attempt that might end with failure.


My thoughts on (sales) forecasting and predictive models

I need to have a data-dump on the sales forecasting process and forecasts.

On optimistic and pessimistic forecasting:

  • When forecasts are (consistently) too low: well-known issue that even has a name: sandbagging. You forecast lower to temper expectations. When you do get better results than the forecast you look like a hero.
  • When forecasts are (consistently) too high: quick research on Google shows that this is almost as prevalent as sandbagging. It seems salespeople are by nature over-optimistic about their chances of closing deals. My question though: if you consistently fail to deliver on the high-expectations doesn’t this dent your confidence? I’m not a salesperson, but if I was one I’d probably be a sandbagger (note: this actually reminds me of IT teams, where sandbagging is so prevalent  because of the high variability of project outcomes).
  • If the above is true, that we consistently under- and over-estimate our abilities to deliver, would a range of forecasts be a better bet? But I don’t hear sales leaders saying “don’t give me a number, give me a range.”
  • Would a range solve the sandbagging and over-optimism problem? In a way, it might, since it forces an alternative view that would be hidden should only a single number held sway.
  • Sandbaggers would be forced to say, “well yes, if EVERYTHING went to plan we might get a 20% increase in sales this month,” while the over-optimistic’ers would be forced to say, “fine, you are right that there is quite a bit of risk. A 10% drop wouldn’t be impossible.”
  • The problem with a range is that it is, well, a range. Oftentimes  a single number is preferred, especially if it’s to be communicated to other parties. It’s easier to tell a story with a single number, and its precision (note that I did not say accuracy) is seductively convincing.
  • One way around this would be to explicitly ask for a range, but at the same time ask also for the “highest probability” or “expected” value. This forces thinking about the best and worst case scenarios while giving you the benefit of a single number. And if you were tracking these forecasts, you might actually find that you can systematically take the optimistic forecasts of known sandbaggers and pessimistic forecasts of known over-optimistic’ers.

On the granularity of forecasting

  • When forecasting, the more granular the forecast the more noise you’ll find. I find it easiest to think about this in terms of coin flips.
  • A fair coin gives a 50/50 chance of being heads or tails.
  • If I flipped a coin, there would be a 50/50 chance of it being heads or tails, but I couldn’t tell you with any certainty if the next flip was going to be heads or tails.
  • However, if you flipped a coin a thousand times, I could tell you with certainty that the number of heads would be close to 50%, which is the nature of fair coin.
  • But let’s say I flipped a coin ten times. Could I tell you with certainty that the number of heads would be close to 50%? Well, no.
  • With just 10 flips (or “trials”, in statistical parlance), the probability of getting 5 heads is actually only 24.60%, which means that you have a 75.40% chance of getting something other than 5 heads/tails.
  • As we increase the number of trials, the probability of heads gets ever increasingly closer to 50%. Every additional trial reduces the variability, and you get closer and closer to what is the “nature of the coin”.
  • In sales forecasting there are occasionally times that you are asked to forecast for very specific things, so specific in fact that you might only have 10 historical data points from which to extrapolate. But with just 10 trials, what’s the chance that those 10 would fit the “nature of the thing being predicted”?
  • From Arthur Conan Doyle’s Sherlock Holmes: “while the individual man is an insoluble puzzle, in the aggregate he becomes a mathematical certainty. You can, for example, never foretell what any one man will do, but you can say with precision what an average number will be up to. Individuals vary, but percentages remain constant.
  • One way around this is to aggregate upwards. You can, for example, ask yourself “what category does this thing I’m trying to predict fall into?” and lump this with those other similar things in the same category.
  • Say you have 10 related products that have sold about 10 units each, similar to each other though not identical. Though you could attempt to predict them individually, the small sample sizes per product would give you so much variance your prediction would likely be not much better than chance. It would be better to group these products together into a single category and perform predictions on this larger category.
  • Variations/predictive noise at the individual product level cancel each other out, giving you a cleaner picture.
  • Though looking at the individual products is a precise exercise, it doesn’t add to predictive accuracy.

On Building Great Predictive Models

  • The greatest amount of time spent on developing good predictive models is often in data preparation.
  • Give me perfect data, and I could build you a great predictive model in a day.
  • A predictive model that is 80% accurate may not be “better” than a model that is 70% accurate. It all depends on the context (if this was in the business domain, we’d say it depends on the business question).
  • Let’s say I build a model that is so complex it’s impossible for others but the most technical minds to understand, or which uses a “black box algorithm” (i.e. you let the computer do its predictive thing, but you have no hope of understanding what it did, e.g. a neural network). It predicts correctly 8 out of 10 times (or 80%).
  • Concurrently, I also build a model using a simple linear regression method, which is algorithmically transparent – you know exactly what it does and how it does it, and it’s easily explainable to most laypersons. It performs a little worse than the more complex model, giving me the correct answer 7 out of 10 times (or 70%).
  • Is giving up control and understanding worth that additional 10% accuracy? Maybe, but in a business context (as opposed to a hackathon) chances are good that after the 7th time you spend an hour explaining why the model does what it does, you’ll probably want to opt for the more easily understandable model at the expense of a little accuracy.
  • Business understanding is an important aspects of model building.

Overfitting a model and “perfect” models

  • Finally, I want to talk about overfitting models. Have you heard about overfitting?
  • When we build predictive models, we build them based on past data. In machine learning we call this data “training data”, i.e. data we use to “train” our model.
  • Overfitting happens when we “train” our model so well on training data that it becomes so specific to the data used to train it that it cannot be expanded to predict new data.
  • I find it akin to learning a new language. Sometimes you get so fixated on the grammar and syntax and structure you miss the woods for the trees, that though your speech may be grammatically correct it could be awkward or unnatural (e.g. overly formal, which is often the case if we learn to speak like we write).
  • When somebody speaks to you in a language you’re just picking up using conversational language, you try to process it using your highly formalised syntaxes and grammars and realise that though you know all the words individually, when strung together they make as much sense as investment-linked insurance plans.
  • Overfitting often happens when we try to predict at increasingly granular levels, where the  amount of data becomes too thin
  • In the end the model becomes VERY good at predicting data very close to what was used to build the model, but absolutely DISMAL at predicting any other data that deviates even slightly from that.
  • If tests show you’ve got a model performing at too-good-to-be-true levels, it probably is. Overfitted models perform very well in test environments, but very badly in production.
  • Sometimes when a model performs “badly” in a test environment, ask yourself: (1) is it performing better than chance? (2) is it performing better than the alternatives?
  • If your answer to both (1) and (2) is yes, that “bad” model is a “good” one, and should be used until a better one comes along.
  • Unless, of course, that the resources it takes to carry out predictions, in terms of monetary cost, time, or both, are higher than the benefits it brings. Sometimes a simple model with above-average performance that can be run in a minute can be far more valuable than one with superb predictive performance but which has a turnaround time longer than the time in which decisions are made.
  • I know of some people who look at predictive model and dismiss them simply because they aren’t perfect; or worse, because they’re too simple — as if being “simple” was bad.
  • But models have value as long as they perform better than the alternatives. If they’re simple, quick to run, and require no additional resources to build or maintain, all the better.

So many ideas – have to expand on some of these one of these days.

Programming in Python

Did I mention that I am learning (and have learned) to program in Python at Codeacademy and am loving it? (Unbiased plug: if you want to learn to program, doesn’t have to be Python, try Codeacademy!)

Sometimes I think that I’m such a nerd: reading programming books in the train; programming for fun at night; cracking a “have you heard of Excel Slicers” joke when asked to cut a cake.

I suppose I always have been sort of a nerd, but now I actually feel alright coming out as one.

How I became an anaylst

I just approved a comment on one of my earlier posts, a post about my possible foray into sales. A post that, as I re-read it, brought back plenty of memories. A post that reminded me how my career as it stands now, that of data science and analytics, is quite different from what I had once thought I would be doing.

When I’d written that post in January 2009, I’d just graduated from the University of Western Australia and was actively looking for a job. But what job I was looking for I didn’t have much of a clue. Most of my peers hadn’t studied what I’d studied (a combination of business and information technology), or had the interests I had.

The Career as Journey not Destination

Back then I wished someone told me how jobs and careers worked; I wish I someone told me that a job or career is more journey than destination, and that not everybody knows outright what they want to do for the rest of their lives. And sometimes, careers are, as in my case, down to plenty of randomness.

So as these memories flooded back, I thought, why don’t I write something about how I found my current calling? Maybe it might help someone just starting out as well, someone as confused as I was. So here it is.

My Initial Career Intentions

Based on what I’d studied and what I was interested in, I had the following careers in mind:

  • Entrepreneurship (to be my own boss was something I’d always dreamed about, but doesn’t almost everybody);
  • Web-design (I’ve had a website since since 1997 — you might, but probably don’t, remember Geocities and Homestead, two free web-hosting platforms I used in the early days);
  • Programming (in 2002 I wrote a content management software in PHP that was essentially a clone of one of the leading CMSes at that time called MoveableType, and used it to power;
  • Copywriting (I used to write, still do, a lot, and loved writing to influence (and still do);
  • Business analysis (whatever that was… the only reason I’d had it down was that in my university’s course material for one of my majors, information systems, it was listed as a probable career, and I’d scored a perfect GPA for the major, something I only found out in hindsight as I prepped my résumé);
  • Education (teaching or similar — I wanted to “change lives”); and
  • Financial planning (I’ll talk more on this later).

These were some of the options I had bouncing around in my head. And whatever I decided to do, my initial thought was that it should be related to non-profit or charitable work if possible. If I was going to be spending the most part of my life doing something (i.e. a job) it might as well be something “worthwhile”.

Limited Options

I would find out soon enough that though I might have tons of ideas of what I wanted to do, those tons would be whittled down quickly to what jobs were available. Being in the middle of an awful recession — remember Lehman Brothers and the sub-prime crisis? — many of the  jobs I thought I had a chance in were simply unavailable.

Sales(y) jobs, though, were still in abundance. These were jobs were largely commission-based, and no- to low-risk propositions for the employers: if you don’t sell, you don’t get paid. And I suppose because of the abundance of these jobs and my not quite knowing what jobs to look for, I decided to try my luck interviewing for them, finding out what they were about and convincing myself that I could do them (the post above was part of the “convincing myself” part, but to a large extent I stand by what I wrote — though I’m not “selling” a product to external customers, I do plenty of selling in terms of ideas , analyses and other “data products” to internal customers).

One sales(y) career that I had seriously considered was that of financial planning. I had taken (and enjoyed) financial planning at University, and I loved reading personal finance blogs and books. Helping others with their finances was also something I felt I could do, especially if I was doing something I knew would help them.

I interviewed with an independent financial planning firm (one I trusted and felt really comfortable with) and was conditionally accepted. I was told to go back when I had the necessary certifications, which I diligently went out to get (which set me back about $600).

But all this while I still wasn’t sure if that was really what I wanted to do. Did I really get a degree for this? A polytechnic diploma would have been sufficient, and having a degree didn’t really help. So I decided to let fate decide: if by April 2009 I hadn’t been offered a non-financial planning, non-salesy job, I would take up the position at the financial planning firm mentioned above.

I continued scouring job postings, looking out for the less sales(y) jobs, trying my luck by sending out résumés for which I felt unqualified but had great interest in. I also targeted jobs more relevant to my degree, which I would never had gotten with just a polytechnic diploma.

Then one day a job ad came along that made my small eyes open a little wider. One that made me think: I could do this; I want to do this. It was for a Business Analyst position, a position I had, until then, not really thought much about, but which had a beautiful mix of business, social science and information technology.

The technical skills that they were looking for seemed a little more than I could offer (specifically VBA programming skills), but everything else I had down to a tee. I sent in my résumé and hoped for the best. A few days later a call came, and I was told that they wanted to interview me (hooray!) That first interview went decently, and I was told to return for a technical skills test, which I passed.

And then I was told that there was a final interview. By this time I was feeling a little job-search weary, and I told myself that this was going to be the last interview I’m going for before I said yes to the financial planning firm.

And as fate would have it, the final interview went well, and I was told a couple of days later that I got the job.

On 1st April 2009 I started my career as an analyst at Future Electronics.

(Yes, April fool’s. “My job’s a joke; my career’s a joke” became a standard joke for me while I was at Future).

And that’s how I became an analyst (and not (yet) an entrepreneur; web-designer; copywriter; financial planner; or an educator. Though on this last one, I still do plenty of educating in my analytics role!)

Some asides:

  • In case you’re wondering what an “analyst” does, read my post “What do you do? I’m an analyst.
  • I’m no longer at Future, and currently work at Study Group (a higher education pathway provider), where I’ve taken a similar but more strategic analytics role – still not quite non-profit or charity, but I’m getting there).
  • As an analyst, especially in smaller companies or teams, or where analytics is more immature, I find that you pretty much define your own job scope. Sure, the job you’re hired for needs to be done, but there’s often so much more you can do with data and systems with lots of business impact, that if you’re gung-ho enough you can start side projects that can quickly become integral to how the business runs things.

The Teacher Being Surpassed by the Student

I was in class on Saturday thinking about how nice it would be if an article of mine on was used as a piece of “teaching material” – i.e. quoted in class, or perhaps in the lecture notes.

It was then that a recollection of “some saying” hit me, something about the aim of a teacher is  to have students surpass him or her in skills. Well, a Google search has just confirmed I was imagining such a saying (apparently teachers don’t really care about students surpassing them in skill.)

But I did come across a Chinese saying that goes like this:  青出于蓝而胜于蓝 qīngchūyúlánérshèngyúlán, which literally translates to “blue comes from the indigo plant but is bluer (vivid) than the plant itself.”

Two things I learned: that the Chinese have some very nice and poetic sayings (well, I’ve actually known this a long time); and that I want to be that teacher who seeks to have students whose skills surpass mine.

I’ve always dreamed of having a team of data workers (data-analysts, engineers, scientists) working under me technically more skillful than me, even when hired they may not have been so. To build a Manchester United of data science within the company (my dear employers, are you reading this? Excited?! I am.)

As an aside: For even more dramatic effect, make that the Manchester United of the 1950-1960s under Sir Matt Busby. The one whose team was just about wiped out in a plane crash in 1958 on their way to the finals of the European Cup, only to return ten years later to win it. I love that story.

The place for the polymath. Because there's too many good things in life to be great at just one thing.