Wednesday, June 24, 2015

Rovio forecasted revenue 2014 versus actuals

Back in March, I claimed that Rovio's revenue would decline from €153.5 M. to €152 M. The actuals are out, and it seems like I was only off by €4 M. Even better, the model could forecast a change in trend based on Google search data, which is very interesting to see.

The model used was slightly different from the one used for forecasting Supercell's revenue for the year. Previously I have worked with the direct correlation between revenue and search volume. This time, a log change model was instead used, and proved to be effective in this case.

Here's the previous post containing the forecast.

Financial ratio summary

Rovio Entertainment Oy
2010/12
2011/12
2012/12
2013/12
2014/12
Companys turnover (1000 EUR)
523275395152171153516148332
Turnover change %
622.10620.60101.800.90-3.40
Result of the financial period (1000 EUR)
26003535655615258987964
Operating profit %
56.6062.1050.5022.806.70
Company personnel headcount
-98311547729

Sunday, June 21, 2015

How to calculate the virality coefficient in SQL

One of the most powerful way to grow an online business is through word of mouth. Cohort analysis is a powerful way to understand how effective you are at turning users into advocates. The number of users brought in by an invite program is called the virality coefficient. It measures how many guests (new users) your hosts (existing users) are bringing in. Depending on your business, you will be more concerned with the new user virality coefficient, or the active user virality coefficient. Here, I explain how to calculate a generic one week new user virality coefficient with SQL.

First, some definitions


  • Host: An existing user.
  • Guest: A potential users that has been invited by a host.
  • Conversion: In this case, we define conversion as making a payment.
  • Cohort: A collection of host that share some attribute. If we are calculating the new user virality coefficient, the shared attribute is that they converted in the same time frame.
  • Time limit: To make the data comparable across cohorts, we must look at the same time frame. Here, we use one week. If you are familiar with cohort tables, they show the value across several time periods.
  • One week new user virality coefficient = Number of converted guests by an existing user within one week of that user converting themselves
  • 1wnuvc=(guests,1w | host)/hosts

What the database is assumed to contain

A typical database structure for an invite program could look something like this:

Invite_table
Host_id
Guest_id
Guest_first_payment_date

User table
Id
Sign_up_date
First_payment_date

Step 1

First we define what cohort we want to measure. In this example, we will define a cohort as the week of the first payment.

select 
date_format(user_table. first_payment_date, '%x-%v')
, count(user_table.first_payment_date)
from user_table
group by 1

By using %x instead of %Y to calculate the year, we make sure to calculate the year correctly even when the year changes.

Step 2

We then calculate the virality coefficient per host within given time frame. Let's say we want to measure the one week virality coefficient. The case statement checks if the difference between the conversion of the guest and the host is less than seven days and only counts those cases.

Since the date of the host's first payment is stored in user_table, we need to do a join to be able to calculate the difference.

select
invite_table.host_id
,sum(case when
datediff(invite_table.guest_first_payment_date, user_table.first_payment_date) <=7
then 1
else 0
end) as individual_one_week_vc
from invite_table
join user_table
on user_table.id = invite_table.host_id
group by 1

Step 3

Finally, we combine the two. The virality coefficient for the weekly cohort is calculated as the sum of the individual virality coefficient, divided by the number of hosts in the cohort.

select 
date_format(user_table. first_payment_date, '%x-%v')
,count(user_table. first_payment_date)
,sum(conversions.individual_one_week_vc)/count(user_table. first_payment_date) as one_week_virality_vc
from user_table

left join (
select
invite_table.host_id
,sum(case when
datediff(invite_table.guest_first_payment_date, user_table.first_payment_date) <=7
then 1
else 0
end) as individual_one_week_vc
from invite_table
join user_table
on user_table.id = invite_table.host_id
group by 1
) conversions
on conversions.host_id=user_table.id

group by 1


Friday, May 22, 2015

International invoicing for businesses

If you are accepting bank transfers from customers abroad, you are likely to face steep bank fees. To get an idea of how much you could save by using an alternative payment provider such as TransferWise, look at the example below. On a £1000 transaction, you get €60 more with TransferWise.

Savings calculator Total
Amount to convert £
Your savings €

TransferWise Your average bank
GBP/EUR
Fees £
You get €

Thursday, May 21, 2015

TransferWise's community visualized

Click image for high-res version.

From the TransferWise blog:

As TransferWise grows we notice something pretty special – our members love sharing the service with friends.  To say thanks, the TransferWise referral programme was born. Now, you’re rewarded if you refer a friend to TransferWise.

Created with R and Gephi.

Tuesday, March 24, 2015

Rovio revenue estimate 2014

Is there a correlation between Rovio's revenue and the amount of Google searches for their most popular title Angry Birds? Admittedly, we only have three data points to go on, but they do line up nicely. The upper chart plots the log change in search volume (x-axis) against revenue (y-axis). Based on that correlation, Rovio's revenue should decline somewhat in 2014, to 152 million €.


Supercell revenue 2014 is 1.55 billion €, compared to forecasted 1.7 billion €

How powerful is Google Trends for predicting revenue of Internet compaines? This is just one data point, but my previous prediction for Supercell's 2014 revenue was not far off.

Supercell's revenue for 2014 was 1.55 billion €, compared to my prediction of 1.7 billion €.



The next prediction I have my eye on is for the Apple Watch. Google Trends data suggests that the Apple Watch will sell well below what market analysts expect. While the launch of the Apple Watch did create some buzz on search engines, that quickly died out.

Another mobile games company from Finland is Rovio. If would be interesting to see if the correlation holds up for them as well. It's not looking good.

Monday, March 09, 2015

Apple Watch sales prediction based on Google Trends data

Back in September 2014, I estimated that the unit sales of the Apple Watch will be 2700 000 in the first three months of sales. The number is based on the correlation between Google searches around the announcement for the iPhone and iPad. Later on in October I revised the number down to 400 000 based on low interest for the product.

When compared to the interest in the iPhone and iPad, the Apple Watch is still lagging behind. In fact, the iPod generates more Google Searches than the Apple Watch.

Industry analysts expect Apple to sell between 10-30 million watches in the first year, or 4-7.5 million per quarter. Even if 400 000 is way too low, the low search interest for the watch indicates that sales will be lower than what analysts predict.

Google Trends data is always two days behind, so we will have to wait until Wednesday to see how the Apple Watch launch compares to the iPad and iPhone. So far, it doesn't look great.

More on the methodology



Entertaining Blogs - BlogCatalog Blog Directory
Bloggtoppen.se