Photo by ANGELA BENITO on Unsplash

What is a State Machine?

State Machine is a mathematical process of describing algorithms. In other words, it represents a graph that contains all possible states of the given observation. For example, if we represent a character state of the following string:

the state machine would look like this:

Circles (x and y) would represent states in which observation could be, while the arrows represent transitions (a or b) from state to state. Similarly to this example, the state machine can be applied to a diverse number of cases. One of them is the state machine for startup products.

Startup product State Machine

One of the approaches to utilize state machines, the one on which this post is focusing on, is to improve your product. Here is the example of the product grow (inspired by Evernote approach):

In this graph, nodes represent the user state from the side of your product. On the other hand, branches (arrows) represent a user transition from different states. The user’s shift from state to state could be good or bad depending on the distinctive branches.

For each branch, you can have a separate team. They can focus on lowering or increasing the number of transitions for their branch. But usually, that is not the case. In most startup companies employees are not as numerous, and focus is a priority in order to keep it that way. Therefore, the following post is focused on the most important measures.

Sales and Marketing

First step that you can make is to use branch 1 to transfer users who never used your product, to first time users. To do this, there are plenty of techniques that can be used like PR, SEO, Ads, etc.

But the question arises when should you try to grow a number of these transactions? Most startups focus on this step due to the role of investors. In their view of interest for startup to grow as well as for the product, there has to be as many users as possible for the kick of.

Bounce rate

The most common, early-stage, startup product problem is the bounce rate. This rate represents the percentage of first-time users who became inactive users. That means that they tried your product, used it for a short period of time, and then just quit. This is the branch that needs intervention before anything.

So, to answer the question from above: the number of transactions to the first time users, should grow until you have statistically enough users to determine the percentage of bounce rate. If your bounce rate is too high, you should fix this problem before starting again with increasing first-time user transactions.

In order to know if your product bounce rate is high or low, you first need to know your healthy bounce rate. A healthy bounce rate differs from product to product, but in general, rough estimation is that a healthy bounce rate is about 30%. If you have a bounce rate higher than 30%, then this is the first thing you need to fix because there is something wrong with your product for the targeted customer segment.

Why? Because if you go and spend millions of dollars to attract new users for your product, and your churn rate is 90%, then the majority of them will leave and you will waste a ton of money as a result of high bounce rate.

Churn rate

Churn, or sometimes called attention rate, represents a number of customers (users) that leave your product over a certain period of time. Those users could either drop from a low-value user (someone who used your product for a couple of times given a certain time interval), or high-value user (someone who uses your product regularly).

So, the reason for the low-value churn could be diverse. For example, they eventually didn’t like your product, it was hard for them to understand it, etc. On the other hand, there is a high-value churn. It is drastically more important than low-value because high-value users are ones that use your product regularly and probably pay for it. Without them, your product will probably become obsolete. Reasons for high-value churn rate increase could be a new bug (glitch) of your product, a new competitor in the market, new regulations, etc.


Resurrected users are ones that traverse from an inactive state to the low-value or even better high-value user. Their main attribute is that they came from a first-time user state to an inactive state. That means that they are already informed about your product, they tried it, but for some reason, they stopped using it. The great thing about them is that you don’t need to invest as much money to attract them to the product (unlike from never-used state) because they are already taught about it.

Over time, this becomes a great (and cheap) way to gather new customers because you already pay the cost of acquiring them. In the beginning, this step isn’t so important, because you need time to build up an inactive user base. But, if possible, do not ignore this in the beginning either. It is a great way to attract users to your product if they are not absent for a long time. To be more precise, there is a direct proportion between the cost of attracting an inactive user and the time the user is inactive. So keep in mind to act as soon as possible to build a strategy or of resurrecting them.


This represents someone who was a low-value user and becoming a high-value user.

But, in order to upgrade, you first need to know the difference between your low-value and high-value users. Depending on your product, this could also differ a lot. But, commonly, you can distinguish them by the fact whether they are paying for your product or not. Also, one way is to separate them by their lifetime value. This means to approximate the overall lifetime value that they can pay for using your product. One great indication in the early stage is using the frequency of your product. If they are using your product regularly, there is a greater chance for them paying you in the future.

Opposite to upgrade si logically downgrade. It is a similar story to upgrade. You need to think about what went wrong, and what is the philosophy of the user moving to the low-value state.


This is probably the best transaction. This line represents users going from the first-time user to high-value user. This transaction occurs with great product-market fit and achieving the best of user expectations.

High-value users loopback

Probably the most important transaction (loopback in this case) in the long term. It means to keep high-value users as high-value users.  

This is done by assuring you to take proper care of customers and your product. Establishing fitting customer support will increase the chance of users to stay in the high-value state. Also, the constant development of the product, providing additional functionalities and fixing will assure a long lifetime of users in this state.


How can you use this knowledge? Well, depending on your phase, you can determine the most important transactions and work directly on them. Since each branch could be represented as a number measurement, you can identify which branch (transactions) is a priority, and therefore focus your time on solving it.

Also, you can use this state machine to create your user roadmap. To be more precise, to define how your ideal (or other types) customer acts, what influences certain transactions from state to state, etc. For example, the user changed his/her state from number 1 to number 3, to number 8, to number 5, to number 6, etc. 

At the end, use this knowledge as your advantage over time-consuming methodologies. Make your business strategy simpler in order to act faster. And, if you have any suggestions that can develop this state machine, give a proposition to discuss it 🙂 Wish you best of luck in improving your startup!

One Response

Leave a Reply