Telecom providers sell products such as broadband and mobile phone contracts. These contracts consist of products of different types and capabilities. These products are sold in different markets. The focus of this challenge is Broadband products in the Consumer market.
For each of the products the customer would like to forecast the following:
Gross adds – the number of new subscribers / connections during a period
Leavers – the number of subscribers / connections which terminated service with the provider during that period
Net migrations – the number of subscribers / connections which remained with the provider but moved to another product
Average revenue per customer
In this challenge, we want to predict the future Gross adds, Leavers, Net migrations and Average revenue per customer as accurate as possible. An ideal goal will be getting forecasts that are within 2% of eventual actual results for the following year. 2% is not a requirement for this challenge, but it is a target, and solutions that perform best will receive higher scores.
Note: Simply replicating the last available revenues or similar methods without a proper modeling of the given data will not be eligible for the prize.
We will use the historical data for training and testing. All data can be downloaded from the forum.
The training data set covers from all data before 18/19_Q4_Mar. Each row described an item on a certain date as follows.
Generic Product Category
Time Period (a month)
The items include metrics like revenue, volume base, gross ads, leavers, net migrations and Average revenue per customer (see Background section) for Broadband for the Consumer market and also broken down by the Product level.
The ground truth file has the same number of rows, but only has one column, i.e., the revenue. You can use this data set to train and test your algorithm locally.
The testing data set covers from a few months starting from 18/19_Q4_Mar till now. It has the same format as the training set, but there is no groundtruth provided.
You are asked to make predictions for the testing data. You will need to append the last column of “Value” into the testing data. The newly added column should be filled by your model’s predictions.