A discount token based loyalty program

In most of the western world, there are 3 big payment card brands: VISA, MasterCard and American Express. The network effects around these are huge. If I wanted to launch a new brand of credit card, I would have to solve the chicken and egg problem: convincing merchants to accept my cards (maybe even replace their POS system), so that I can convince consumers to use mine rather than one of the big three… But convincing merchants will require that I show large adoption numbers from consumers. Dependency loops are hard.

In the USat least, these 3 brands all offer some kind of loyalty program: the credit cards come with perks, and the more I use them, the more I accrue some kind of reward. They can be points that I can change into airline miles, or even cash-back mechanisms.

Unfortunately, these loyalty programs are awfully centralised and credit companies will change the rules arbitrarily, at the expense of the card holders and the merchants (from they take significant fees).

Of course, at this point, launching a new credit card brand is almost impossible. At scale, sure, it seems possible to compete with the large existing brands, but getting there is virtually impossible: the network effects are immense.

Introducing the JULES card!

The Jules card is like the other card brands. It’s a piece of plastic with a chip and a magnetic stripe. It can be used with the same devices that the other brands use, and will collect the same kind of fees that the other cards collect. In other words, it’s very much the same as the existing brands.

The one difference is its loyalty program. It is based on a discount token: JDT.

These JDT discount tokens are lifetime points that each user ‘receives’ when they make payments with their cards. For each transaction, with any merchant that the owner of the card makes, they grant an instant discount on the purchase.

The amount of discount applied to the purchase is the product of the total available discount by the customers’s share of discount tokens.

Receiving discounts

It is possible to know at any time the total amount of value exchanged by the Jules network (it is the sum of all transaction). Let’s decide, that, at any time, 2% of that total network value (captured from fees mostly) is set aside and put into a “pool” that we call the total available discount.

The value of the pool is of course public, and anyone should know how big it is. If the total network product is $10Bn (3 orders of magnitude smaller than VISA), and if no discount has ever been used, then, the total available discount is 200 million US$.

Let’s assume that a consumer owns 100 JDT, out of a total supply of 1Bn. This means they would be entitled to a $2,000 discount. ($200M * 100/10,000M).

If that consumer purchased a fancy new laptop, they could completely offset the purchase price. However, the amount of tokens “used” to receive the discount would be frozen for at least 30 days and until the Jules card balance has been paid (we’ll get to why this is important later).

The good news is that these discount tokens are not spent. If 30 days later the network is now roughly the same size and the consumer still owns about 0.000001% of the JDT tokens, she would still be entitled to roughly the same $2,000 discount on her purchases.

Hoarding JDT

The goal of the Jules Discount Token program is of course to overcome network effects. This means that we need a mechanism to grant tokens to anyone who is effectively growing the network, based on how much they actually grew the network.

This means that the token release mechanism has to be tied to the amount of $ spent by the consumer, but also to the growth of the network. In the same way that the total size of the network is known, the growth rate is known. Let’s decide that the total number of JDT received by the consumer on any purchase is price X growth% / 2.

In the early days, the annual growth rate could be 50%. If the user purchases a $100 pair of jeans, she would receive 25 JDT. Much later, when the network has reached a larger size, it may only be growing at a 3% rate, so that same purchase yields only 1.5 JDT. Note that the difference is by design: if the network is larger, it is likely not growing very much anymore… so rewarding the use of the Jules card should not be as beneficial. However, if the consumer is betting on our card in the early days, she is disproportionally rewarded as she’s contributing more actively to our battle against network effects. Of course, once the network has reached the size of its competitors, and overcome the network effects, the Jules card could seek alternate means of returning additional value. This raises the topic of governance, which we can explore in a later post.

Of course, like any venture, launching the Jules card is going to require some kind of venture capital. Rather than raising from investors in equity, the promoters of the Jules network should consider pre-mining a fixed number of JDT. Some of these JDT couple be sold to investors with the assumption that these investors will eventually be selling the JDT to actual card owners. But more importantly, some of the pre-mined JDT should be used to incentivise early adopters among merchants so that the card is useful earlier than later. In both cases, some kind of lockup or vesting mechanism should be considered in order to limit the impact on the network in the early days.

Aligning incentives

At this point, one could legitimately wonder why use a discount model and not just a more traditional “dividends” (or royalty) model. Rather than allowing JDT owners to get discounts, why not just grant them their share of the total available discount pool? After all, Alex Felix from CoinFund did a great job at showing that the price of tokens would be exactly the same since they’re taking their value from the same pool: a percentage of the network’s product.

However, I’d argue that discount tokens are far superior, because they align incentives better by yielding more value to the people who use their discount tokens rather than those who own them.

If JDT was a royalty token (or a cash-back card), then, whoever acquired the token would realise the full value of their token by capturing the dividends (or receive the cash back). Yes, they have contributed to the network, either by purchasing the token or by performing a transaction, but they now have very few reason to keep contributing, outside of maintaining their share… Today, most token holders tend to wait on the sideline, expecting others (developers and early adopters) to make their investment valuable. The reason for this is that they only benefit if the network becomes very large… in the long term.

With the Discount Token model, owners are too incentivised to help grow the network in the long term. If they do so, the overall “available discount” will increase, implying that their share becomes more valuable… BUT, more importantly, they should also keep contributing, in the short term, in order to realise the full value of their discount token. Indeed, their discount tokens themselves are only useful (and valuable!) if they are applied to purchases. Discount token owners are even competing for discounts, and the race is about who makes the most transactions, increasing in turn the network growth.

Contrary to most token models, the network’s value is growing because token holders are using them!

What if?

One of my favorite exercises is to check that the consider some “state” in which the network could be and see if the assumptions are still matching the goals for the network.

  • There is no available discount?

There are 2 reason for this: maybe the network is too small, or token owner are consuming all available discounts. In both cases, well, investors and early token owners have a strong incentive to grow the network if they want their tokens to be valuable. It is also important that we limit the discount “velocity”. By freezing discount tokens for a significant duration, we prevent anyone from monopolising all available discounts.

  • The network is growing very fast?

If the network is growing very fast, then, it means that the people who are currently using the network are rewarded with larger amounts of discount tokens. However, earlier owners are “diluted”. This is the intended behaviour as we always want the network to redistribute wealth toward the most active consumers.

  • Somebody owns too many discount tokens?

If a user owns too many discount tokens, they will always be full discounts on all of their purchases. This sounds like a comfortable situation but may also indicate that they are actually under-valuing their discount tokens. The reasoning is that if they get full discounts, it is likely that they could actually benefit from larger one (since there is no negative transactions, where the merchant pays the consumer). This means that the best use of their JDT is probably to sell some of them to somebody who would use them more efficiently.

Why Blockchain?

To conclude, I want to finish with everyone’s favorite question: why do you need a blockchain to achieve that? Why not just use a private database?

I can see 2 answers: the first one is that transparency is paramount. Incentives cannot be leaps of faith: to be the most effective, they need to be rooted in knowledge and confidence. By using a Blockchain and smart contracts, not only are the rules public, but, more importantly, they cannot be changed arbitrarily.

The second answer is that by building on a Blockchain, we open the door for other people to build on the same ecosystem and rewards point. This means that if the model proves to be successful, VISA, Mastercard or American Express could easily release cards which implement the same rules and mechanisms, as well as use the same data.

If you liked this piece, please hit that clap button! Also, leave notes, comment and highlight as much as you want. I would be lying if I said that the discount token model was not one of the token designs at the core of Unlock’s vision! Finally, if you want to know more, or get involved, reach out at julien@unlock-protocol.com.