How I made a simple Business Model Canvas for geekar

The power of simple python scripting is one of the themes of this blog, and now I can show a great practical example.

I needed to create something that looks like this:

geekar Business Model Canvas
geekar Business Model Canvas (click for webpage)

This is a simple HTML table with some CSS. But trying to write it in HTML would result in a lot of copy-pasting of stuff that looks like this:

That’s a lot of boring and error prone copy-pasting. And I’ll need to create lots of these in the coming months.

OK, so I need to write a script that will turn this:

Into the correct HTML.

It’s actually really easy:

It’s a small command-line tool that knows how to create an empty .py file for a canvas with the correct template, and knows how to read a .py file as a python file (since this is for self-use only I’m fine with no security at all, otherwise reading it as a python file would be very unwise) and do some preprocessing and some search-and-replacin’ to get the right thing into an HTML template.

I needed to be able to control how many notes to have in a row, so I added parsing of a space at the beginning of a note caption to mean “newline before this”. I needed to write many similar notes for “customer segments” – so I used the fact that the canvas definition file is in python to just write some python that generates it:

“customers”: [x + ” Fans” for x in [“Comics”, “RPG”, ” MTG”, “Anime”]] + [” Gamers”],

And that’s all there is to it. One of my students could write this in ten minutes. From now on, something that I will be doing every day will take a few minutes less.

Is It Worth the Time?

The whole code can be found here: and the complete result here:


Lecture 1.5A: Business Models and Customer Development

In this lecture we learn about business models and about the Business Model Canvas as a tool for mapping business models.

We learn that a company is for executing a business model whereas a startup is for finding one and then becoming a company.

I fully agree with the view of a startup as a different kind of entity than a company, it is a very fresh and important realisation. However, I have a problem with companies that view the search as completely over. That’s how record companies find themselves replaced with this new kid called the Internet. If I ever find myself as Chief Executive Officer of a company, I’ll make sure to Search and not only Execute, no matter what profits that the current business model yields.

Then we get introduced to…

The Business Model Canvas

The BMC is a technique for describing a business model, a division into the most important blocks. A map of sorts. When searching for a business model, one is supposed to make an empty canvas, hang it on the wall and tape post-it notes filling the different blocks, which will then be modified many times while iterating on improving the model.

I don’t know whether the BMC is a good map – whether it captures all essential details and no inconsequential details. I’ve never formed a company and I can’t say which are the essential details. I’m taking it as sage advice – Steve has more experience than me and he’s telling me “here are the important things to notice when making a business plan”, so I’m taking his word until I know better. I guess in practice it varies a little depending on the kind of business you’re planning, but it makes sense that it doesn’t vary too much and one canvas design can fit most uses.

To make sure I don’t miss anything important, once in a while I will try to draw different projections of my business plan – perhaps as a story or a roleplaying game – as different projections tend to focus on different details.

The rest of the lecture describes the different blocks in the BMC – The all-important Value Proposition, Customer Segments, Channels and Customer Relationships leading to Revenue Streams and Key Partners, Key Resources and Key Activities leading to the Cost Structure.

I found Steve’s descriptions good but not always sufficient. I found lots of assistance from the grey text on the “Business Model Generation” Business Model Canvas PDF. Where I still didn’t know exactly what to write, the excellent descriptions and two examples (spot ’em) in the free preview of the Business Model Generation book clarified it for me.

To get a good feel of a new idea, it is always a good idea to practice a bit:

Franchisee for Coca Cola

This is my guess of a business model for a Coca Cola franchisee. It was evident while working on this that when dealing with products that have complex distribution chains, there is need to flush distribution channels better than the canvas allows. To partially solve this, I treated distributors also as clients and partners where it was relevant.

Waze Mobile

For those who have never heard of Waze, they make crowdsourced GPS navigation software for smartphones, which is one of the products with most value I’ve ever seen. Once again, I needed a bit more separation between two kinds of clients – users and advertisers, which are treated very differently. Also, I had to guess more because the internet can tell me less about their business practices (and it’s getting late).

Finally, my own toy business idea, Python For Everyone:

Python For Everyone

I highly recommend reading the links introducing the plan. Readers who don’t usually ask questions that are answered in there.

As you can see, I have lots of different entities gaining value, and needed a way to encode what relates to which of them in the right side of the canvas. I chose color coding, and I think it works pretty well. I’m not sure I decided correctly to include the possible future venture of training technology companies.

All in all, I think I like the Business Model Canvas as a map of my business. It made me think about many aspects of my business and feels like a good map. Time will tell, when I try to update it, how well it works for iterating on a changing business model idea.

Python For Everyone: Business Model Canvas – Iteration 1

The first iteration of my Business Model Canvas is done:

There is so much information contained within the form and content of this canvas that I think analysing it would only lead to information overload. Read it slowly, as if trying to find flaws in my plan, carefully noticing all the color coding and how blocks relate to each other. Start at the value proposition, through the customers and partners, towards the customer relations and channels, then the key resources and activities, and sum it up with the costs and revenue streams.

I will greatly appreciate feedback and discussion.

Python For Everyone: Business Model Canvas

I’m working on my Business Model Canvas.

I’ll have to continue working on it later, so here’s a job half-done:

I will upload a higher quality version of the final version, when it’s ready. This is just to whet you guys’ appetites (and introduce some alien thoughts into the thinking stage).

Note: I highly recommend working with paper, working in Inkscape has been quite a horrible experience and I do it only because my printer isn’t functioning.

Edit: I got some thought provoking comments on the boards, which made me find some errors and places where I don’t convey information well, so I uploaded a fixed version. Nothing major. Also, I am considering using mind mapping software for this.

Already Made It

Do not miss this series of posts by Kahlil Korazo, in which he tells his experiences teaching the Lean Launchpad based only on public resources.

Kahlil decided to teach the Lean Launchpad because he wanted to study it and there wasn’t a course avaliable nearby. Teaching is indeed the best way to learn. It is, however, very demanding. Most people wouldn’t have followed through with such a plan, and I applaud Kahlil for it.

He had to set things up with a local university, find people who want to learn and have the skills needed to apply the material, build a course schedule based on reverse engineering presentations that Steve published, recruit the best entrepreneurs and VCs in his area to mentor, all while following the class curriculum himself.

And we get, for free, to hear a teacher’s insights to the material, which tend to be and in this case indeed are much more advanced than what you get as a student.

Worth a read.


I personally also got from it an interesting discussion of The Flipped Classroom and methods of teaching in an internet age, which will be very useful to my project.

Lecture 1: What We Now Know

“The only fallacy in that is that you assume your first customers will be in the mainstream. It turns for most startups your first customers are going to be crazy people like you.”

I would summarize lecture 1 as stating, “This is how a big company does things, it is irrelevant to startups because it rests on the assumption that you know what your customers want”.

Continue reading