Bleep Bloop: Building Bots using Iterative Design

Like lots of products, mCent asks our users to refer friends.

But how much is a referral worth?  How should that amount vary in changing business conditions?

To answer these questions, our Product/Engineering team used iterative design to build the Referral Reward Robot:


(Isn’t he cute?)

Iteration 1: Oh the humanity!

When the referral feature rolled out, a human analyst manually tuned the reward settings via a web tool.

Every day, the analyst would look at business conditions to decide how much we should pay to acquire a new user. Then, they’d enter the input to our web tool.

This process was time intensive, but allowed us to adjust our methodology on the fly. Changes to the algorithm required changing cells in a spreadsheet, not deploying code.

Because this process was labor intensive, we only changed the rewards in our top markets.

Iteration 2: Tell me what you want, what you really really want

Once we had an algorithm we were happy with, we created a simple robot to calculate the recommended reward amount automatically. Goodbye clunky spreadsheet!

We integrated the bot with Slack through a custom integration. And we gave him a snazzy bowtie, of course.

Every day, a cron job kicks the bot into gear. The bot gives a recommendation for today’s settings. Then, a human configures the settings to match the robots recommendation (using our web tool).

Iteration 3: Just do it, Robot

Wahoo! The robot was making good recommendations (nearly) every day.  We decided to give him a promotion with more responsibilities.

We connected the robot to our web tool, allowing him to change the reward amount himself (rather than just telling humans what to do).

Of course, we made sure the robot still told us what he did each day, so we could make sure he didn’t go crazy.

Iteration 4: We are the World

Once we had the robot optimizing our top five markets, we prepared to roll out globally.

We thought through corner cases: What should the robot do if only one person from Macedonia was on mCent yesterday? What if his 500 closest friends join tomorrow?

Then, we configured default guardrails (such as maximum reward) and hooked our robot to a currency exchange rate database.

Today, our Referral Reward Robot configures settings for every country we see activity. That’s great, because mCent is connected with 311 mobile operators across nearly 100 countries.
Love bots as much as we do?   We’re hiring!  Bowtie possibly included.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s