Gamification
Gems, coins, XP points, milestones, badges and achievements—gamification is everywhere.
And for good reason: there are some major success stories like Duolingo, who've created sticky habits that appear tantalisingly easy to copy.
But when you try and implementing streaks and XP, they land flat.
Often it's not even obvious how to conceptually introduce these elements into something like a B2B tool.
This isn't a deep dive into the psychology of 🎮 Gamification.
Instead, it's a cheatsheet on practically building these reward mechanisms, and a breakdown of the mistakes that I see daily.
Notepads at the ready?
Encouraging repeat behaviour
Streaks
Fundamentally, it's easier to encourage (or discourage) a behaviour, if you can increase the reward (or cost) of that action.
For example, I try and eat fruit daily (not to brag), but if I was told that I've been eating fruit for 1,312 days in a row, I'd be considerably more motivated to pick up an apple tomorrow.
Streaks are essentially a mechanism for counting actions, and then contextualising that count back to the user as leverage.
The simplest (and most common) implementation of this is a time-based streak, like we see with Duolingo here.
You're simply rewarded for a recurring input.
Or take the news aggregator app Artifact, who would show you your streak visually over a longer period of time.
These are simple to implement, but often aren't that effective.
And in my experience, it's usually because the streaks are aligned to arbitrary inputs, not outputs or goals.
Let me give you an example.
I send newsletters, but the cadence is less important to me than the quality.
So when an email provider (Beehiiv) displays streaks based on weekly publishing, it doesn't match what I want to do.
This would be better for me, if the streak was how many consecutive emails have had "open rates above 50%" or "unsubscribe rates below 1%".
In other words, my goal is quality, not quantity.
💡 Key insight: If you don't align the streak with the user's actual goal, you'll have very little leverage, and (as we'll see), it can have a negative effect.
Streaks can create churn?
Frustratingly, even once you've found a high-leverage streak to measure, it can backfire over the medium-term.
Yeah, you read that right: streaks can create churn.
The way to think about it, is that as the value of a streak increases, you want the cost of losing that streak to increase too.
That's why they work.
But as a result, if they do lose their streak, the user now has to incur or suffer the thing that they were trying to avoid.
i.e., the leverage has gone, and the user has failed.
This is an inherent problem with streaks.
You want the incentive to maintain one to be high, with a perception of a significant possible loss, but where the realised loss isn't too punishing.
See the problem?
Luckily there are a few counter-churn techniques that I've found to be effective.
For example, the house cleaning app Sweepy allows you to turn on 'vacation mode', pausing all streaks without punishment.
This is really important for streaks that will have natural pauses due to predictable events, like a holiday (e.g., newsletters, playing the guitar or jogging).
In a similar vein, Duolingo offer 'Streak freezes' to give you an automatic small buffer.
i.e., "you messed up yesterday, but don't worry, you've not been punished yet".
This highlights the importance of really understanding what your users are trying to do.
For example, if you're building accounting software, having a streak for reconciling transactions kind of makes sense, as an idea.
But what happens when one transaction needs approval? Or requires speaking to a merchant, which takes 10 days?
You'd lose the streak, and from that point on would be reluctant to invest time into it again.
XP, coins and points
How do you get someone to care about saving 59p?
Well, the utility provider Octopus Energy simply renamed pennies as 'Octopoints' and provides ways for the user to earn them in the thousands.
This psychological disassociation is why 50,000 air mile points feels epic, despite only being worth £50.
The flow goes like this: Octopus Energy will incentivise customers to submit their meter readings, by letting them spin a wheel of fortune.
This then rewards the user in Octopoints.
Most people will win 8 points, which is literally worth one penny.
But 8 points feels better than one penny (i.e., it increases the potential leverage).
To be clear, points (or XP) doesn't need to have a monetary value.
The household chore app I mentioned earlier, Sweepy, will give you "coins" for completing daily tasks.
These coins objectively do nothing, but being able to measure and compare your input over a longer period of time is the value.
In the same way that streaks allow users to log and track habitual inputs, coins and XP allow you to track a wider range of repeat behaviours.
It's effective because it allows you to assign a number to a range of actions, and then leverage the hell out of it.
In other words, you can then incentivise specific or routine tasks, to build habits—people forget this step.
For instance, Duolingo has a hook to unlock a period of "double XP", by connecting with a friend.
By getting you to care about XP, they're now able to leverage something that they want you to do (connect with friends), via an action that benefits long term habit creation (using the app for another hour).
When done well, it feels like a cheat code.
But XP isn't an easy home run. Rewarding actions with points on a linear scale has an inherent flaw—you need another element.
The flaw in XP-based rewards
Going from 10XP to 20XP feels meaningful, but the jump from 10,000 XP to 10,010 XP, much less so.
The initial delight of watching coins shower down the screen might help make those first few sessions feel more satisfying.
But they have diminishing returns—you can't just collect XP forever.
This is why video games reward users on a non-linear scale.
As you get better, you're rewarded with more XP, and need more XP to level up, so you fight harder bosses, and get more XP for doing so.
Some services lean heavily into this with increasingly more difficult social leaderboards, 'double or nothing' wagers, XP boosts and challenges.
But this isn't realistic for most products, and it's a distraction for most teams. You probably shouldn't try to go down this route.
So let's talk about the alternatives.
Encouraging linear progression
Hitting milestones
Hyper-gamified XP isn't suitable for most businesses.
For example, I don't want my accountants dishing out 'Accounto-Coins' every time I send an invoice.
Instead, I prefer a more subdued way of measuring progress, with achievements and milestones. These aren't based on repeat actions, or constrained by time.
For example, Google will show new users a 'to do list', which unlock badges for submitting reviews and community information.
There are a few nuances here.
Firstly, I might have 3 places that I'm happy reviewing, but I don't want to do 3 a week, forever.
Nor is earning say, 30XP, meaningful to me in the longer term, if I don't plan on doing this routinely.
And secondly, there's a subtle difference between a badge that's used as an incentive, and one that's given as a reward.
Take Apple Fitness for example.
You might go for a run, and unlock a badge you didn't previously know about—this makes you feel good.
Or if you were really proactive, you might look-up a badge and work towards unlocking it.
Some achievements can be both, but usually they encourage different user journeys.
The difference is subtle, so here are a few examples:
Surprise rewards 🎉
Proactive goals 🏆
Playing Sports ⚽️
A "player of the match" award.
The World Cup.
Eating healthy 🍩
"You've burned 1,000 calories today"
"7 day streak without junk food"
Reading a book 📒
"You've read 10,000 pages in your life"
"You've completed this book"
The proactive goals (i.e., badges you want to unlock) are based on predictable inputs and outputs.
"Surprise rewards" are milestones to celebrate something that you otherwise would have missed.
For example, Headway offer achievements for key milestones.
I doubt many people know (or care) what these moments were in advance, but they're creating a sense of accomplishment.
This "I did the very first step" isn't a badge I'm going to want to look back on—the value is only in this very brief moment.
But, once someone has reached a milestone that they were aiming for, the big question is how you leverage that feeling to last more than a few seconds.
Let's cover that.
Badges
Badges (to record reaching a milestone) are a useful technique because they allow you to leverage the reward of an achievement, beyond the event.
They're usually more effective if:
👀
1. Other people can see them
Especially when it's people they actually know in real life.
⛳️
2. The achievements align to their goals
i.e., the badges are a natural extension of what they want to do, not arbitrary.
🏆
3. Are earned at a sensible cadence
Too easy, or too frequent, and you lose track of them.
And if you're going to use these as a way to work towards a specific behaviour, then you'll need:
🎯
4. A clear target
i.e., a flow to see what's locked, and what you need to do to unlock it.
🥇
5. The badges to be clear and distinct
You need to be able to look at your badge, and remember the effort or skill that went into unlocking it.
An example of this would be how Skillshare dynamically suggests your next milestone, based on activities you've started.
This is effective because it keeps your next milestone within reach, and reminds you what you need to do.
Something completely different
Mini games
Let's end on something a bit more fun, and unusual.
After completing lessons on Ahead, you'll trigger an 'emotional tap' mini game. You need to mash the screen quickly, hitting as many emotions and emojis as you can within a limited time frame.
This then compares your personal best score to the all time high score.
In other words, they've gamified something outside of their core offering.
You complete an action (a lesson), and get rewarded with an attempt at the arcade machine.
Now compare that to other "mini games", like how Spotify allows you to play Snake with your playlists.
Or Instagram's hidden 'pong' mini game.
Spotify and Instagram's games are nice easter eggs, implemented well—but they're not rewarding.
Ahead's challenge is likely more effective because the input is controlled (to have an attempt you need to complete a lesson), and the competitive incentive is to match or beat the global score.
People don't want their banking app to implement Frogger, but they might if you had to reach your weekly savings goals to earn a single life, and you were competing against your friends.
If any banks want to now implement Frogger, I'm in.
UX Exercise
Why is this newsletter streak likely ineffective for some users (like me)?
You’ve finished this Cheatsheet
Become a BFM+ member to track your progress, create a library of content and share learnings within your team.
Other cheatsheets picked for you
BFM+ Exclusive
Reducing AnxietyPreview this content
Anxiety can be caused by a simple label being out of alignment, and fixed with a single line of text.
BFM+ Exclusive
User DelightPreview this content
It's not just confetti cannons, User Delight can improve retention, conversion rates and reduce churn—this is why (and how).
BFM+ Exclusive
Loading & waitingPreview this content
Why it's often more effective to reframe the experience of waiting, rather than objectively make something faster.