Virality

Things that grow really, really fast.

There are many ways to make things grow exponentially using SEL.

A basic exponential expression could be written as: =2**10 which reads as 2 to the power of 10, resulting in 1,024.

Here are a few other ways to express exponential growth:

Source as Seed

Create an initial source. You can think of this as your initial seed amount. If you're a new business, this might be the number of customers that sign up on day one:

=Source(100)

To have this initial 100 "go viral", you'd want to point it to another event that does the compounding:

*= 2

This says to take the initial amount and then begin doubling it.

780

Viral growth of doubling each cycle using an initial seed of 100.

The output of this second event will be: 200, 400, 800, etc.

🚧

Compound operators

The *= did something a bit tricky in the above example, didn't it? It consumed the initial value of 100 and ignored the rest of the 100's sent to it from the seed event.

Compound operators like *=, +=, -=, /= are exceptions to this rule. They store the initial result of their math (in this case, 100 * 2, and for each future occurrence, repeatedly apply their operator (in this case *) to the current value.

The real world equivalent of this is hitting = repeatedly on your calculator.

Compounding Container

You can also compound a container using percentage growth rates greater than 100%, for example, a pool of 100 free users that grows organically (through WoM) could be represented as:

=Pool(100 @ 200%)

This pool will follow the same sequence: 200, 400, 800, etc.

The Simple List

If neither of those suits you, there's another very simple way to represent viral growth: a list!

=[1,2,4,8,16]

This creates a lot of clarity, at the expense of having to (1) define the entire list and (2) make sure the list contains enough entries to cover the full span of time you want to cover.