After high school I tried to become a rock star. This is the story of how the band went from 1 to 300 fans in Las Vegas.
Have you ever tried to do something that required help from other people? How did you get them to help? For 3 years during and 2 years after high school, I tried to make a living playing rock and roll. This meant living in a van named Trogdor with 4 to 5 other guys going across the country in search of supporters. We needed people to raise money for gas, cheeseburgers, fireworks, etc., and got it by selling music, merchandise, and getting money from the venues we played. We needed volunteers like Dan who went on tour with us to watch the merch booth, Adam who threw parties for us to play in Arizona, and all the people who gave us a floor to sleep on and a shower to use. We needed fans and a following so bigger venues would book and pay us. But before anyone could give us these things they had to know we existed. So how do you get people to know you exist? Back then we called this being nice and making friends in each city we visited, but now I would like to take a more systematic approach to thinking about the spread of ideas, and the spread of music.
How do we think about this situation systematically? Let's say each city we visit is a network of people who are connected through relationships. We can model these communities with a graph data structure. If these cities are totally disconnected from each other then 1 graph is all you need and you can extrapolate the results to all different cities. Within each city there are 3 types of people: prospects, supporters, and churned (ex) fans. I thought long and hard about whether to call people supporters or fans, but whereas fans like your music, a starting band really does need supporters to help push them to where they want to go. People move from being prospects to supporters and eventually their fickle hearts turn and they churn as fans. So in the beginning let's start with a community of people where everyone is a prospect, and one person is a supporter. This actually happened after we played our first show in Las Vegas' Roadhouse Casino (now closed) to an audience of Shilpa, bartender and door guy. The people of Las Vegas were the community and we had 1 supporter. Despite the small start, our final Vegas show was for over 300 people at GameWorks on the main strip. How did this happen? How can 1 lead to many in our graph? The story continues.
Now to model Shilpa telling her friends about our band. In reality this is extremely complicated because people have different tastes in music, some people need a percentage of their friends on board before they try it, and no two people are identical. This can be accounted for with probability distributions, more precise data, different models, etc., but for the sake of this post, I want to keep things simple. Let's assume each time someone is asked to support our band there is a 20% chance he or she says yes. If you know more about your community of prospects and their likelihood to support you, take my code and enter your data. Oh yeah, we were called Nathaniel's Endeavors btw (MySpace took all our original stuff down, so just imagine that link takes you to our MySpace ).
We now have supporters and need to know how long they stick around. I determine this by drawing a lifetime from an exponential distribution with a churn rate of 0.11 [per month]. Cool, but what does it mean? This is approximately saying that supporters have a half life of (1.0 / 0.11) ~ 9 months, meaning twice as many supporters stick around for 1 month than 10 months. Twice as many stick around for 10 months than 19 months and so on. Like I said, this is an approximate definition that gives non-math majors a feel for how the distribution roughly works. Wikipedia has a more accurate description of the distribution for the experts playing along at home. The take away is that a new supporter's lifetime is chosen at random from this distribution. When their lifetime has passed, they are marked as churned. How did I pick the churn rate? I literally picked a number that created interesting gifs in a reasonable number of time steps. We're calling time steps months because who doesn't love units?
As a final recap before we look at the results, let's go through the whole process. Each time step (representing a month), every supporter in the graph asks all of his or her prospect neighbors to support the band with a 20% success rate. Then all supporters whose lifetimes have expired are churned. Repeat these steps until there are no supporters left. Let's start by examining two specific simulations which show unsuccessful and successful organizing attempts IN GIF FORM! They give you a feel for how information moves around our community.
First look at a case where we don't keep in touch with Shilpa. She liked our music, but we never called, messaged, or went out of our way to make her feel like she mattered to us (this is not how it actually went down). Look at how many potential supporters were never asked to listen to our band. There is so much wasted potential that it's sad. Looking at the gif below you can see things were really close to taking off if only we had nurtured our relationship long enough for her to tell that highly connected friend a much more convincing story as to why they should be a supporter. How could we have known? What could we have done? If we had data about our fans, we could search to see who was highly connected with lots of influence and could reach out to those people (NationBuilder plug alert). What we did in the before NationBuilder era (BNB) was form a really close bond with our first few fans who did a lot of that work for us when we were out on the road.
Now let's look at a case where we do our jobs correctly. Every highly connected supporter is around long enough to tell their friends about our music and the result is a large portion of the community supporting the band at one point or another. Not only is this important because fans make the world go round for a band, but because a more realistic model would have a mechanism for the churned to become supporters again. The churned can come back, but people who never knew you existed can't. Another interesting fact is our first supporter is not the person who has the most connections, but if you think about six degrees of separation that person isn't far from getting you in touch with that mega influential prospect. That's what happened here. This also applies to more than a band on the tour. If I like a song enough to put it on my Spotify playlist, all of my friends have access to it. Months may no longer be the appropriate timeframe -- it could be minutes.
Finally, I want to zoom out and look at how the whole system behaves -- specifically, was there anything special about Shilpa, or could she have been anyone? To do this I run 30,000 simulations with Shilpa as our first supporter and I record the largest number of supporters we have during each run. I do this again 30,000 times starting at a different random person each time. The results show a large number of simulations with under 10 supporters when starting at a random person. When starting with Shilpa the most likely number of supporters peaks in the low to mid 20s. This validates the idea that where you start matters (thank you Shilpa). It's important to take some time and think about who you want your pioneers in a new city to be.
To make it as a band you need people. Being good at your craft is essential, but there are a lot of talented musicians who struggle to make it a career. Some people get lucky, but most have to grind it out and build relationships. After a show you'll find these bands meeting people at the merch booth, not back stage. They try to revisit cities often and maintain their relationships. They are keeping their Shilpas in the game. You should do the same. Pay attention to Followers, Friends, and Klout because your supporters who have these things are your bull horns on the internet and should be highly valued. Own your data and build extensive profiles that make it easy to reach out and relate. Thinking about it now, my job was to drive, play music, and make friends. In retrospect, it was a pretty sweet deal. So if you're reading this on your private tour jet, don't forget about the people who helped you get there!
The code used to create the plots above can be found here. Some interesting things to change in the model are:
1. Create a mechanism for churned supporters to become active again.
2. Plug in a supporter lifetime distribution that more closely matches your organization.
3. Rather than a fixed supporter probability, implement a supporter probability distribution.
4. I created static plots and generated gifs using ffmpeg and the convert command line tool. I would love to do something closer to this.
5. Anything you want!
Have fun and share your thoughts below. I am especially interested to hear how people outside of the music word relate to this story.