The Data Science Pyramid


The data science pyramid represents the importance of data and methods for analyzing it to a business. There are several ways to read this chart.

If I’m a business and I understand the importance of data, I view this chart from the bottom to the top in terms of low value to high value. Rungs 1 through 4 are very important, which is why they are at the bottom. Without them no analysis is even possible, but as a business I still see it as an investment and as cost of doing business. Rungs 5 and 6 are ultimately what I as a business really care about. Insight is slightly lower on the pyramid because while important, ultimately the business truly cares about how that insight informs and shapes strategy.

As a data scientist my main concerns tend to be about the lower rungs, 1 through 4. Given that many data scientists are technologists they care deeply about platforms and tools: (which language do we use R or Python, which database SQL or NoSQL?) about methods and algorithms (do we use linear regression or do we use random forests?) and about data products (do we build a dashboard?, which statistical measure do we use?)

It is important for us to understand that for a business those questions are largely irrelevant. As such there’s a fundamental tension between the first four rungs and the top two with respect to how data science related to business. Our job as data scientists is primarily to solve business problems that have to do with insight and strategy, to inform and help decision making rather than bog them down with detailed calculations.

This tension became very evident to me when I recently interviewed a candidate for a an analyst role. Contrary to the typical interview, he decided to give a presentation to the VPs to showcase a paper he had written on a unique method of doing analysis. It didn’t take long for me to see that he cared deeply about the methods he was using and the brilliant calculations he’d come up with to solve this particular problem. It was also very evident to me that he was really smart and knew his craft very well.

However he didn’t think above rung 4 on the pyramid. He could not translate his findings into insight and ultimately into strategy for the business. He ended up alienating the VPs who had very logical and business related questions while he kept thinking in terms of calculations and analysis. To him rungs 5 and 6 didn’t exist, but to the VPs they were all that mattered.

If we’re going do solve the projected 50%-60% talent gap [1] in data scientists we’re not going to do it by focusing on how to do deeper analysis and number crunching but instead by being aware of the ultimate value of data science, insight and strategy.


How to Build True Agility With your Team

Agility as a term has been overloaded with multiple meanings, especially from the software development perspective. I define agility simply as the ability to change your perspective, your worldview (or orientation as Boyd would put it) and your actions to adapt to what’s happening in the real world. There are two key ideas in that definition. The first one is about change and the second is about adaptability. You need to be able to do both if you have any hope of being agile.

So how do you create agility in your team so that you can respond quickly when the situation changes? Suppose a disgruntled customer tweets something negative about you, and then on top of that he buys an ad that will promote that tweet to 20,000 twitter users. How long will it take you to respond?

It happened last year when a British Airways passenger, unhappy that the airline lost his father’s luggage, sent out a promoted tweet about their customer service being “horrendous” It took BA more than a day to respond to the customer. By then, the tweet had been picked by several media and news outlets. How would you have handled this if you were running the social media team at BA?

If you’re like most companies, you’d have to first find out. if you don’t have the necessary tools in place to get notified when something like this happens, you will unfortunately find out too late. This is the Observation stage of the OODA loop which I wrote about here. Assuming you find out early enough, you might have to go through a lot of bureaucratic red tape getting approval and sign off from everyone involved before a response is set in motion. Not very agile.

If your team was agile, you’d be able to respond a lot quicker and nip that negative publicity in the bud before it starts to spin out of control. Lets take another example. Suppose you notice a problem on your company’s website that is severely affecting conversion. You enter a support request. How soon can the problem be fixed?

If the web development team was agile (and I don’t necessarily mean that in the sense of following agile project management practices) someone can be pulled off of whatever they’re working on to fix the issue quickly. More often than not, the issue will go unnoticed for weeks, if not months and even then, it will take more time to be properly fixed.

So how do you become more agile?

Here are some of the principles of the agile software development manifesto. Let’s analyze them and see if we notice a pattern.

  1. Your highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  3. Business people and developers must work  together daily throughout the project.
  4. Working software is the primary measure of progress.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

What do you notice?

What do you get by satisfying the customer through delivering continuous valuable software on a regular basis? What do you achieve by working together with the business? What do you get when your measure of success is working software?

You get Mutual Trust!

What do you achieve by working with a team of motivated individuals who have the environment they require and the support and trust they need to get the job done? What do you get by communicating face to face and welcoming last minute requirements changes?

You get: Mutual Trust and Cohesion

And what do you get when your single point of focus is delivering quality software at all costs?

You get true Agility!

If you study the OODA loop in my previous post, there’s a part of it specifically about implicit guidance and control. This means that there could be a point where you don’t need a formal process to actually get something done. A coworker recently mentioned that they had gotten so good at working with the developers that they no longer needed to discuss things formally, a lot of design decisions were made and communicated implicitly. This allowed both the designers and the developers to operate quickly and get things done faster.

The first element is: Mutual Trust

In order to get to this level of operation, where the team knows exactly what to do and when to do it, the first element you need is mutual trust, unity and cohesion. Not just any type of trust, unity and cohesion, but the kind that is earned through working together through many different projects.

Of course it needn’t be said that at the same time, the team needs to also spend time together outside of the context of work. This will help them get a sense of how everyone on the team thinks and allow them to build that level of trust.

In order to achieve that kind of unity and cohesion, both parties need to be striving towards the same goal. And so the second element you need is the concept of a single point of focus. The idea with single point of a focus is that all the surrounding activities must support it and everyone involved, not just everyone on the team but also the rest of the company, needs to understand, support and work towards this focus.

The second element: Single Point of  Focus

When team members in different departments do not have a single point of focus, they will focus on creating silos and protecting their department’s turf. This is a sure-fire formula to get organizational politicking, power plays and turf wars and lots of bureaucratic red tape. 

How to destroy agility (or what not to do)

The easiest way to destroy agility is to mistrust employees by not believing in their ability to make their own decisions about what’s right and what they should pursue. When things are going great, there’s lots of trust in the team, but when sales start to shrink, many companies feel they need to pull the controls upstairs and start to manage by directive rather by mission.

One of the ways to communicate distrust is by micromanaging. When you micromanage, you are checking everything your team is producing and if you’re not satisfied, you probably end up even doing it yourself. This is very common and it’s a horrible way to manage people. I’ve been there before and it’s not fun. After a while you lose any desire to produce quality work that you can pride yourself on and you lose any initiative you may have had.

How to Get an Advantage Through Faster Tempo – Time based Competition and the OODA Loop

John M. Boyd was an air force pilot who earned the nickname “40-second Boyd” due to his ability to defeat any enemy in combat air maneuvering in 40 seconds or less. He was very much interested in theory and later on, after he became a consultant he developed a brief called Patterns of Conflict summarizing military strategy from Sun Tzu, to Hannibal, to WWII Blitzkrieg, to guerrilla warfare.

Despite all this, the one concept he’s most known for is the OODA loop. It grew out of his theory of learning which he called Destruction and Creation and is the only paper he ever published. In it he discusses the processes of analysis and synthesis, which later would play a role in the Orientation phase of the OODA loop. 

Destruction and Creation

According to Boyd, through analysis you break down the whole into pieces so you can understand it better, and through synthesis you put various pieces together to create a new coherent whole. The key is to shatter the domains that hold the pieces together in your mind so that they are no longer connected to those domains. The relationship between those parts and the whole is to be destroyed before a new whole can be created.

Boyd’s example was the snowmobile. You take the treads from the tank, the engine of an outboard motorboat, the skis and the handlebar of a bicycle. When you take each of those parts individually and you shatter the links they have to the original concept (tank, boat, bike and ski) you are able to see how you can put them together in a whole new coherent way (the snowmobile). This according to Boyd was creative destruction. 

Fast Transients

After destruction and creation, Boyd set his sites on trying to understand warfare, especially how the US who was better equipped ended up losing the Vietnam War. He started his analysis by looking at why the F86 had more wins than the MiG despite the fact they were very similar in what he deemed energy-maneuverability (another concept he created earlier in his career as an air force pilot).

After working on it for a while he discovered that the F86 was able to go through changes in speed and direction much faster than the MiG due to it’s hydraulic controls vs the MiG’s mechanical controls. The F86 also had a much winder angle canopy which allowed the pilot a better view of the enemy. We’ll come back to that when we discuss the observation phase of the OODA loop.

The ability to quickly switch maneuvers in response to what your opponent was doing, was a key advantage that created a rapidly changing environment and caused confusion, disorientation and panic in your adversary rendering them unable to adapt quickly. This meant that in order to win, you had to operate a faster tempo than your adversary in fact you must operate inside their tempo.

This led him to create a brief called Patterns of Conflict which started out small but then ended up growing to be 8 full hours!. During the slides of the brief, as Boyd is explaining the key concepts of the blitzkrieg and guerilla warfare, he mentions the concept of the OODA Loop, or Observe, Orient, Decide, Act. According to Boyd, if you were able to go through the OODA loop faster than your opponent, you could essentially win without having to resort to attrition warfare.

The biggest misconception about the OODA loop is that it’s a simple step by step process comprised of four distinct steps which you then try to loop through as quickly as possible. Boyd’s concept was much more than that as we’ll see. 


 Here is a diagram of the OODA “loop”


During Observation you gather as much information as possible through your five senses and unfolding circumstances, unfolding interaction with the environment, feedback from any action or any decision you’ve taken and more importantly implicit guidance and control. Anything that hindered your ability to observe clearly and get accurate information about your environment will hinder your ability to orient yourself properly and cause mismatches between your “reality” and you opponent’s “reality” This was his key insight as to why the F86 was superior. The MiG’s canopy restricted the pilot’s view, creating blind spots that could easily be exploited by the enemy.

Because the key to the OODA Loop is how fast you switch maneuvers, you don’t want to be spending too much time Observing, you want to quickly move on to Orientation. 

Orientation is the key to the entire “loop” What Boyd meant by orientation is in a way the opposite of disorientation. Your goal is to bring about things like previous experience, new information, analysis/synthesis, genetic heritage and cultural traditions to create a complex integration, or as I like to call it a mental model of the situation. What Boyd means here, is that you should be able to read a situation in such a way that is as close to reality as possible and keep it that way so that you don’t get disoriented. When you do that, you’re able to dictate and shape the mind of your opponent in such a way as to bring about disorientation and confusion and inhibit their ability to make clear decisions.

In the Decision phase, you create a hypothesis of what the orientation suggested and you test it by taking Action.

The most important thing to note here is that these stages do no need to occur in this order. Notice the arrows for implicit guidance and control between orientation and observation/decision/action. What this means is that there’s a point where a you can achieve an intuitive sense for how the events are unfolding. You get an insight and it happened to match reality perfectly. Once this happens, you no longer need to go though the stages one by one, they begin to occur simultaneously. You can now begin to dictate the tempo of decisions and shape the mind of your opponent. This allows you to win more easily. 

Fast Tempo Offense in Sports

I don’t like sports metaphors in general (since not everyone is a sports fan) but they illustrate the OODA loop perfectly. In the American NFL, NBA and in other sports, the idea of a fast tempo offense is starting to become more common. There will be a stage during the game where the coach will notice something in the defense, the game situation , the score, etc. and decide to speed up the tempo of the game in order to catch the defense off-guard or to dictate the tempo and score more easily.

The coach will observe for example the certain set up of the defense, how tired they look, their energy level, how much attention they’re paying in the game, take into account the score of the game, the clock, how well his team is advancing, game film that he’s seen previously of this particular defense in this situation, the type of defense he’s dealing with, plays they ran in practice, etc. and orient himself to the situation by creating a mental model of the reality. During orientation, he will get an idea that maybe by switching to a faster tempo, he can spark the offense, disorient the defense, advance faster and score easier.

He makes the decision and calls for quicker/higher percentage of success plays. Given how accurate the read of the situation was, how successful the play was, how the defense reacted, (this is feedback that will shape his orientation) he will go through the loop again and decide whether to continue the quick tempo while the defense tries hard to adjust. It’s very important that this fast decision making tempo be kept up in order to keep the defense guessing and delay/inhibit their ability to orient and adjust to the faster tempo. If the read of the situation was accurate, the coach will start to get an intuitive feel for the game and know exactly which plays to call in order to be successful.

Fast Tempo in Business

In business, if your orientation doesn’t match reality, for example when you’re clueless about what the customers really want, you will end up slowly declining and eventually go bankrupt. A good example of a company who operates at a fast tempo is Google. When Google first launched, AltaVista was the most popular search engine (in fact Google founders Larry Page and Sergei Brin, actually tried to license their search technology to AltaVista but they refused).

Internet search engines had a problem. They would display results without any sort of relevance, making it hard for you to find what you were actually looking for. One can say that their orientation to the marketplace was off. Google invented an algorithm called PageRank which assigned a rank to a website based on how many other sites linked to it. This was an insight that Brin got while he was working on a project to digitize papers. He noticed that the best papers had the most references from other papers.

People started to switch to Google as their main search engine and sites like AltaVista didn’t adjust so they headed for a decline. Not willing to adjust they slowly went out of business. But Google didn’t stop there. They monetized search by placing text based ads next to the search results. If you wanted your website to show up as a top search result in Google for certain search terms/keywords, given that most people didn’t go beyond the first 2-3 pages of search results, you needed to outbid your competition for those specific search terms/keywords.

However the natural search results were free! So people tried to figure out how Google’s PageRank algorithm worked by reverse engineering the search results (since this information is proprietary to Google) and then try to optimize sites or game Google’s algorithm so their site would appear on top for the desired search terms/keywords. The SEO (search engine optimization) game is still being played to this day. The problem isn’t that people try to figure out Google’s algorithm, the problem is that unscrupulous marketers were using unethical techniques (also known as “black hat SEO” from the popular term “black hat hacker”) to try and game the search results and have their sites show up on top undeservingly.

Operating at a fast tempo, Google began periodically updating the algorithm in order to stay one step ahead of these “black hat” SEO hackers. If Google didn’t operate at a fast tempo, they would soon start to lose credibility in their search results.

This is only scratching the surface of what the OODA Loop can do. Some of the more interesting applications of it can achieve the ability to shape the marketplace, shape the mind of the customer and the mind of the competitors to keep them at bay. For more on John Boyd, check out Robert Coram’s excellent biography “Boyd: The Fighter Pilot Who Changed the Art of War”


How to merge several Excel worksheets using RapidMiner

This is a tutorial in using RapidMiner 5.3 ETL features to merge several Excel worksheets from the same file into one single output which can then be saved into a separate Excel file, a CSV file or database table.

RapidMiner ( is the world-leading open-source system for data mining. It is available as a stand-alone application for data analysis and as a data mining engine for the integration into own products. It has an awesome array of ETL tools that lets you work with any data quickly and efficiently. The Community Edition is free of charge which makes it perfect for use in this task.


RapidMiner uses a vast collection of customizable data operators to design a process flow for your data. I’ve used RapidMiner before to merge several CSV files into one using its Loop Files parameter, but in this case the data was all in one excel file separated into several tabs, so I needed to go a little deeper. This tutorial assumes some knowledge of RapidMiner although it’s really easy to learn.

There is another operator called Loop Parameters, which you can find by typing it in the search box. It allows you to loop through the parameters of any operator.

Untitled picture

The little blue icon on the bottom right indicates that this is a container, inside of which we need to  place the actual action operator that does the work. So double click on the Loop Parameters operator to go inside it.

Now we need to add our action operator, in our case it’s Read Excel. Search for it and drop it into the palette. If you’ve set RapidMiner to auto-wire inputs, it will automatically link the output from the operator to the output wall.


There are two things we need to customize:

First let’s customize the Read Excel operator’s properties. We will need to specify the file that we’re reading from. I’ve created a dummy file (which you can get here) for the purposes of this tutorial; the data in it doesn’t mean anything. The file contains 3 sheets with sales data.


Division Sales
1 $3,400
2 $3,500
3 $3,600
4 $3,700

Division Sales
4 $4,100
5 $4,200
6 $4,300
7 $4,400

Division Sales
9 $4,600
10 $4,700
11 $4,800
12 $4,900

Our goal is to merge the data from all three sheets into one single sheet.

Note: In order for this to work properly, ALL the sheets need to have the same exact headings. If they don’t have the same exact headings, you have to take care of that first, otherwise the merge will not work.

Click on the Read Excel operator and then on the Import Configuration Wizard button on the properties panel on the right hand side.


The wizard will guide through configuring the input file. In Step 1 you choose the directory where you saved the file, click on the file and then click Next.


In Step 2, RapidMiner will load the Excel file so you can see all the Sheets and go through them to ensure they all have the same headings. Ensure you can see  Sheet1, Sheet2 and Sheet3. Click Next.


In Step 3, you can annotate a column with special properties, in our case the column headings. RapidMiner does this for you, so no action needed. Click Next to proceed to the final step.


In Step 4, you can choose the data types for your columns. RapidMiner will try to guess the values for you and it usually does a good job, but if you want to change them, just click on the down arrows for each column and pick the data type you like. When done click Finish.


Next, we need to specify the settings for the Loop Parameters operator. To do this, click out of the Read Excel operator (by clicking anywhere else on the palette) and the properties box should change as shown: At this point we are till inside the Loop Parameters operator


Click on the Edit Parameter Settings to continue. We get the following dialog box.


There are several things going on here. Since this is a generic loop container, we need to specify the operator(s), the parameters to loop through and the range of values. In our case, we only have one operator (Read Excel) Click on it and you’re presented with the parameters that we can choose to loop. We want the sheet_number parameter. Click on it and then click on the right green arrow (==>) to add it to the Selected Parameters box. Your screen should look like this:


Next we need to specify the range of values we want the parameter to take. We only have 3 sheets so choose Min = 1; Max = 3; Steps = 3; Scale = Linear. When done, click Ok. There are more options here for advanced looping, but this is outside the scope of this tutorial.

We are now ready to test our work! The nice thing about RapidMiner is that you can build your process in steps and check your work at any step by running it and seeing your results. To do this we need to first exit the loop container by clicking on the blue Up arrow to get to the main screen.

Untitled picture 1

Once in the main screen, connect the Loop Parameter‘s res (ResultSet) port to the res port on the output wall. Then click on the blue triangle on top to run the process.


If everything was set up correctly, RapidMiner will execute the process and present you with the results as shown here:


We can see in the Results Overview an IOObjectCollection tab with all three sheets as separate ExampleSets (RapidMiner calls its outputs ExampleSet. What we now have is a collection of the data from the three sheets but it’s still separate, so we need one more operator to do the actual merge.

Switch back to the Design perspective and add the Append operator. If you’ve set RapidMiner to auto-wire the operators and if you hold the Append operator right over the purple output line, it will drop it in place and be automatically wire it. If not, you have to manually wire it.


Run the process again and now we get the results we want! The ExampleSet from the (Append) operator shows the data from the three sheets merged into one. Nice!


At this point we can add an export operator to save it somewhere. RapidMiner supports a variety of export options: there’s separate Write operators for Excel, CSV, database tables, etc.


We are done. If you have any questions, please put it in the comments.

Review of Little Bets – A Book on Experimental Innovation and Creative Thinking

LIttle Bets by Peter SimsLittle Bets by Peter Sims is a fantastic little book about experimental innovation and creative thinking. The subtitle actually reads:  “How Breakthrough Ideas Emerge from Small Discoveries” I put this book off for over a year before finally tackling it and I immediately realized my mistake.

The book is a collection of ideas on everything from launching new products, design, to creative warfare. There are a lot of little nuggets in this book and I’ll do my best to bring them to the surface. But first a personal story.

I work as a business intelligence analyst/developer, which is really a fancy term for analyzing business data, looking for patterns and then designing dashboard reports for business users such as VPs, directors, managers, to consume the data and make better decisions.

My most recent project required that I build a data mart for tracking our sales pipeline leads better. A data mart is business data that is in a very specific format which makes it easier to query and build reports on.

I started the project with a lot of enthusiasm and energy, after all you don’t get a chance to build something from the ground up very often. I had high aspirations and high standards for this project so I set out to build an all-encompassing data mart that could be used for multiple purposes. I had several things going in my favor:

  1. I was very familiar with the data. I’d been working with it for several years
  2. I had already built a similar project for tracking sales and it was working great
  3. I had began reading the definitive guide to building data marts and  I couldn’t wait to try it.
  4. I had built plenty of multi-purpose reports before
  5.  had met with the VP in charge of the project and had a very good idea of the requirements, down to specific deliverables.

Two weeks into the project, I was still trying to come up with a high-level concept for the way the data was laid out that would accomplish all my goals at once. I wanted the design to be perfect right from the start and I wanted everything to flow from there.

In other words I was stuck!

I battled with this for another two weeks before giving up my high-level, all encompassing concept and actually ended up designing a few specific reports to answer specific question. The project ran way over the allotted time and I was somewhat dissatisfied with the results. Why didn’t it work? The answers became clear to me once I started reading Little Bets

Thinking With Prototypes and Iterating

The book starts out with a bold principle: “Genius ideas never spring into people’s minds fully formed. They emerge through a process of discovery and experimentation” It’s a bold principle because traditionally we’ve been trained to think in terms of top-down design; first come up with the idea in our mind then take action. That’s exactly what I was trying to do! I was trying to come up with a brilliant design first and then build the reports after.

Only then did it dawn on me that the process I followed to build the project on sales (item #2 above) was the same process of creative discovery this book was talking about. It was only after building several purpose-specific reports all based on the same, common data set that I was able to see the patterns and be able to abstract the data to an all-encompassing, all purpose data mart.

One of the core ideas in the book is the idea of thinking with prototypes. Those of us in the software engineering field know this principle very well. It’s at the heart of the Agile Method. Prototypes allow you to explore various ideas and various designs until the final product emerges. But there’s a caveat.  As John Lasseter of Pixar says “We don’t actually finish our films, we release them” The agile method says “release early and often”

I think that’s very telling of the mindset that has made Pixar a million-dollar successful animated films empire. It’s very important to actually put stuff out there and get feedback especially from the actual users of your product. That’s the key to the iterative method which stands in sharp contrast to the old-school “waterfall” planning method. This method which grew out of the way manufacturing and construction industries handled their projects, has turned out to be disastrous when applied to software engineering.

Little Bets and Entrepreneurship

The book expands on this principle by taking it into the world of entrepreneurship and product ideas. It states that most successful entrepreneurs don’t begin with brilliant ideas, they discover them through a process of experimenting and taking little bets. According to Sims, little bets are “concrete actions taken to discover, develop and test ideas that are achievable.”

Here are a sampling of nuggets from the book:

“Accept uncertainty, that you cannot reliably predict which ideas will work and which will fail and most of them will fail, so you have to experiment and try things in the real world. Approach problems in non-linear fashion using little bets, what David Galenson has dubbed “experimental innovation. Experimental innovators must be persistent and willing to accept failure and setbacks in the pursuit of their goals. We don’t know what we don’t know so instead of trying to develop elaborate plans to predict success, you should do things in order to discover what you should do.”

In my case, I should have begun by building the specific reports and fine-tuning them. As one of my friends says “humans are tinkerers.” That’s why when starting a new project (he’s a software engineer) he always starts with the smallest possible set of features that works. If he’s building an app, he will have a crappy UI, and crappy code as long as the app successfully builds and runs even if it’s just to display a message like “hello world”

How entrepreneurs think was the subject of a study and paper by professor Saras Sarasvathi. In 1997 she set out on a journey across 17 US states to meet with 30 founders of companies ranging in size from $200 millions to $6.5 billion dollars and to find out what makes entrepreneurs entrepreneurial. She came up with a theory she calls “effectual reasoning” which differs quite a bit from the causal reasoning we’re all taught in school.

Here’s how she puts it: “Effectual reasoning does not begin with a specific goal. Instead it begins with a given set of means and allows the goals to emerge contingently over time.” According to Sarasvathi, all the entrepreneurs she studied began with three categories of means: (1) Who they are – their traits, skills, values (2) What they know – their education, training, expertise and (3) Whom they know – their social/professional network

“Effectual reasoning is all about execution. Plans are made and unmade, revised and recast through action and interaction with others” These entrepreneurs don’t like to do traditional market research such as focus groups, targeting, etc. Instead they prefer to talk to customers and find out what they want. They take product ideas and half-baked prototypes directly to customers to see if the idea works.

Effectual reasoning has three core principles according to Sarasvathi.:

  1. The Affordable Loss Principle. While managers try to analyze the market and choose targeted segments to launch new products, entrepreneurs try to reach the market quickly with as few resources (time, effort, money)as possible, as well as taking a small enough bet that you can learn from it without it costing you the your entire savings. If you have ever seen the show Shark Tank, one of the saddest moments in the show is when a prospective entrepreneur has spent years and years and probably drained their savings to build a product only to see it rejected because they never took it to market.
  2. The Strategic Partnership Principle. The successful entrepreneurs in this study all prefer to build strategic partnerships rather than focus on competitive analysis. They start these partnerships as soon as they have customers, in fact customers are considered partners right from the beginning.
  3. The Leveraging Contingencies Principle. This is the ready-fire-aim approach to building products. The ability to take an unexpected turn of events into a profitable business is at the heart of entrepreneurship. Many great companies (Google, Microsoft, Apple, etc)  were built from leveraging contingencies.

The Growth Mindset

What I found both interesting and fascinating is the fact that Little Bets has an entire chapter dedicated to one of my favorite books about psychology. This other book is called Mindset: The New Psychology of Success by Carol Dweck. Dweck is one of my favorite researchers in psychology today. Her book tackles the theory of the growth mindset vs. the fixed mindset while applying it to a variety of fields from intelligence and learning to self-help.

She found while studying students that some of them would prevail in the face of challenges while others would falter, give up or not even try. Going deeper, she found that the key was their attitude towards learning. The students who were able to overcome difficulties thought about learning from the perspective of growing their abilities and intelligence while the ones who gave up or didn’t try thought about learning as having a fixed intelligence and either proving or disproving their own smartness.

This is one of the things I’ve always battled with, having been praised my whole life about my intelligence and innate talents and abilities. I’ve always wanted to grasp things immediately and understand them fully. Failure to do so, meant I was not smart so I’d avoid those situations as much as I could. It wasn’t until I read Carol Dweck’s book that it started to make sense. Little Bets looks at this idea from the perspective of how we view failure. Here’s a little table exploring the two mindsets.

Fixed Mindset Growth Mindset
Fixed intelligence/Innate talent Growing intelligence/Learnable Talents.
Must prove myself to be smart or else be seen as stupid Failure means feedback. There’s no need to prove myself because I’m learning
Confirming abilities Expanding abilities
Take no risks unless you’re sure you will succeed Take risks because whether I fail or succeed I will still learn
Desire to look smart Desire to learn
Avoids challenges Embraces challenges
Gives up easily Resists in the face of setbacks
Effort is fruitless Effort is key to mastery
Ignore useful negative feedback Learn from criticism
Feel threatened by other’s success/achievement Find lessons and inspiration in other’s success/achievement
Plateau early Reach higher and higher levels of success

How do you change your mindset? Carol Dweck says: “A person’s mindset can strongly be influenced by what they think is most important ability or effort” Once you become aware of your mindset, you can start to influence it by paying more attention to the effort you put into it vs. thinking about your ability to do it. It is very important to praise effort in children early on rather than ability because that’s how you build the growth mindset.

This is just a small sampling of the goodies in this book and highly recommend you read it.

The Dangers of Optimization

“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil” -Donald Knuth

In the field of Computer Science (CS) optimization is the process of changing the algorithm (the logic) of a program in order to improve its efficiency (i.e. make it run faster or consume fewer resources.) In order to do this, certain assumptions need to be put in place and my argument is that these assumptions make optimization dangerous and not just in the context of programming.

First of all in order to optimize a process you need to understand it very well. You need to know how it behaves in different circumstances or under various boundary conditions. If we were to look at an organically (necessity) grown business process that we want to optimize, it’s usually necessary to see where the inefficiencies or bottlenecks are in the process and remove them.

Second, when you optimize you may need to restrict boundaries, make certain assumptions, use special cases, tricks and complex trade-offs which will achieve the required result but at the expense of potentially over-complicating a process or over-specializing it. This causes a loss of agility in the long run or over-adaptation (as may be the case in over-optimized diets).

Let’s use a simple example from manufacturing to explain this. Let’s assume that you have a retool-able machine that produces widgets at 95% defect rate. This means that 5 out of every 100 widgets are defective. When you’re looking to optimize the defect rate, you’re looking to produce fewer defective widgets without slowing down the machine or the manufacturing process. Suppose also that you know the process of making this widget very well, since you make millions of them every year.

Since you know the process well you know that there are just a few ways to optimize the defect rate, you can for example utilize the machine better by redesigning the overall process or you can install much more specialized machines that make just this one widget. Now you have an optimized defect rate but it has come at the expense of over-specialization and a huge loss of flexibility or agility. Imagine what can happen after you’ve replaced your retoolable machines with specialized machines and the market changes to where it no longer needs those widgets. You’re practically out of business.

The danger is that not all processes are fully known. Even in a precise field such as computer science there’s always some level of unknown, certain unexpected conditions or special circumstances where the program will fail. If you were to optimize the process without knowing all these cases you run the risk of having an incorrect program that no longer solves the original problem.

Nowhere is this more prevalent than in digital marketing. First let’s get one obvious thing out of the way. SEO or search engine optimization is not really optimization per se. You’re not optimizing your website to work better or faster, you’re adapting it to fit the search engine’s constraints.

The whole idea behind the concept of targeting is really about optimization. When you’re trying to target a certain segment of your audience, you’re trying to optimize the marketing dollars so you increase the efficiency. After all why would you want to spend money on leads that will not respond to your offer?

There is nothing wrong with targeting (although Roy H. Williams aka The Wizard of Ads would beg to differ) The problems arise when you start to over-optimize while assuming that you really understand your audience and what offers they actually respond to. The truth is you really don’t, so all this optimization will really hurt sales. There are many other things in a business you can optimize and improve, such as your close ratio.

A good example of this is a recent story I read in Roy H. William’s Monday Morning Memo (a highly recommended business newsletter by the way) The story is about two lawyers who take different approaches to marketing. One believes in targeting, and converts about 10% of inquiries while the other believes in casting a wider net via radio advertising and ends up converting 60% of inquiries proving once again that marketing is primarily about the messaging and the offer.