The Revenue Potential of Billing Increments

A Microsoft Excel simulation model to reveal the revenue potential of billing increments in mobile or fixed-line tariffs

Billing Increment Simulation Dashboard - click to enlargeBe honest: do you know which incremental billing model is included in your mobile phone or fixed line tariff? No worries, I suppose most people do not know. However, incremental billing models represent a considerable part of mobile or fixed line operators’ revenues.

But what is incremental billing? It means that carriers are pricing calls in slices longer than a second. Full minute billing means – for instance – that you are paying two full minutes, although your call was only 61 seconds long.

How big is this effect of additional revenues? How much revenues do carriers make by using incremental billing?

Today’s post presents a simulation model to reveal and evaluate the revenue potential of different billing increment models. As always including the Microsoft Excel workbook for free download.

The background

What does incremental billing mean exactly? A billing increment is the smallest slice of a call a carrier will charge. Billing increment models usually have a nomenclature consisting of two numbers:

  • Model 1/1 means a true per second billing: talk for 20 seconds, pay for 20 seconds.
  • Model 60/1 means a minimum of 60 seconds and per second billing beyond the first minute. Talk for 20 seconds, pay for 60 seconds, talk for 61 seconds, pay for 61 seconds.
  • Model 60/60 means full minute charging: talk for 20 seconds, pay for one minute, talk for 61 seconds, pay for two minutes and so forth.

These are the most common ones. However there are a variety of others (60/30, 10/10, 6/6, 18/6, etc.), working accordingly.

Let’s call a spade a spade. If you are having a tariff with a billing increment larger than one second, you will pay for air-time you never used. The effect of billing increments on the total amount of your phone bill depends not only on the incremental billing model, but also on the distribution of the call durations: the more short duration calls you have, the higher the impact and vice versa.

So, billing increments mean additional revenue potential for the carriers. But how large is this potential? How big are the additional revenues of different billing increments? A simulation model will help us to answer this question.

The probability of call durations

Required Probability Function - click to enlargeFirst and foremost, the additional revenue potential of a billing increment model depends on the call duration distribution, i.e. what is the probability of any given call duration?

For sure, this will be a positive or right skewed function as shown in the screenshot on the left. The mass of the distribution is concentrated on shorter call durations, e.g. a call lasting 3 minutes is more likely than a call lasting 30 minutes.

One function that reflects this is a log-normal distribution, i.e. a probability distribution of a variable whose logarithm is normally distributed. There are other options as well (like the Weibull distribution), but the log-normal distribution will do the job in our simulation model.

The implementation and the calculations

The simulation workbook consists of only two worksheets: the dashboard (see next section) and the calculation worksheet.

The used formulas on the sheet calculations are not too complex. There is one formula to create the log-normal probability function using the functions NORMDIST and LN. The formulas calculating the billable seconds per model use the functions QUOTIENT and MOD, but I think they are still pretty straight forward and easy to understand. To support the visualizations on the dashboard, there are some more calculations using MAX, MEDIAN, VLOOKUP, INDEX and MATCH, but still no rocket science. Everything else are simple basic arithmetical operations.

I am sure you will easily figure out how this works without further explanations.

For the sake of completeness: to limit the workbook to a reasonable size, the simulation is restricted to call durations up to 1,800 seconds, i.e. 30 minutes. Agreed a limitation, but no great effect on the results because of the right-skewness of the probability function.

The visualization

Billing Increment Probability Function - click to enlargeThe probability function of the call duration is visualized using a standard XY scatter chart and 3 additional points to display the most important values at a glance:

the mode (the call duration that occurs most frequently), the median (50% of all calls are shorter, 50% are longer than the median) and the average call duration.

Distribution Function - click to enlargeThe distribution function shows the cumulative probabilities, i.e. the probability that a call is less or equal than a given call duration. The according chart (see left) visualizes how fast the probabilities converge to 100%. Again, this is an XY scatter chart and the additional point highlights and displays the threshold, where 80% of all calls are shorter or equal than this call duration.

Additional Seconds Area Chart - click to enlargeAn area chart compares all billing increment models and visualizes the additional revenues compared to the model 1/1. This chart visualizes the way the models are working and at which call durations the most additional revenue is made.

Additional Seconds Bar Chart - click to enlargeFinally, a very simple table and bar chart displays the most important results: how much additional revenue is made by each model compared to a billing per second (model 1/1). Furthermore, the user of the simulation workbook is able to define his own models by changing the values of the first and the following billing increments in seconds.

The simulation

The simulation part of the model focuses on the call duration probability function. By changing the mean and the standard deviation of the log-normal distribution (using the sliders), you may change the shape of the function and see immediately the impacts of your changes on the dashboard.

The workbook is restricted to 5 different billing increment models. However, you can easily change the predefined models by typing in new values for the first and the following bill increments in the cells M27:N31 on the dashboard. Thus you can adapt the simulation to your own requirements and what you consider to be reasonable.

The results

Here are two examples of simulation results:

Let’s select a mean of the log-normal distribution of 6 and a standard deviation of 1.1. Most calls have a duration of 117 seconds, the median is 300 seconds and the average duration of a call is 488 seconds. A billing increment model 60/60 results in 6% higher revenues for the carrier than a model charging per seconds air-time (i.e. model 1/1). Not too bad, in my humble opinion.

If you choose a less right skewed distribution (mean: 6.4, standard deviation: 0.7), most calls last 363 seconds, the median is 411 seconds and the average call duration is 659 seconds (i.e. almost 11 minutes on average). The model 60/60 still produces 4.5% more revenues than a billing increment model 1/1.

Please be advised that both examples are arbitrarily chosen examples. I would assume they might represent reasonable probability functions. However, the parameters are made up, i.e. the given distribution is not based on real data of a real carrier.

The dashboard and the download link

Here is a larger screenshot of the one-page interactive simulation dashboard:

Billing Increment Simulation Dashboard - click to enlarge

And here is the Microsoft Excel workbook for free download:

Download Simulation Billing Increment (Microsoft Excel 2003, zipped 425.8K)

What’s next?

Using mathematical functions in Microsoft Excel simulation and planning models are a very interesting topic. I am planning to write one more post on this during the next weeks. Furthermore I am having some more Tableau tips and workbooks in the pipeline.

Stay tuned.

Comments

20 responses to “The Revenue Potential of Billing Increments”

  1. Daniel Avatar
    Daniel

    Outstanding, really enjoyed this post.

  2. Laust Lund Kristensen Avatar
    Laust Lund Kristensen

    A very nice display.
    A personal pet peeve though: the median is also an average, so to have both a median and an average is a bit strange. If you calculate the mean, I think it is better to classify it as such.

  3. Robert Avatar

    Laust,
    many thanks for your comment.
    Agreed, in mathematical / statistical terminology, average is a generic term and includes different descriptive statistics like mean (arithmetic, geometric, etc.), median and others. From that point of view you are absolutely right.
    On the other hand I do believe that most people equate average with arithmetic mean. If you say “average” in colloquial language, everybody assumes that you are talking about the arithmetic mean. Even the name of the Excel function for calculating the arithmetic mean is called “AVERAGE”…
    Anyway, if you want to change the display on the chart to “mean” or “arithmetic mean”, simply change the cell G4 on the worksheet “calculations”.

  4. Seth Tucker Avatar
    Seth Tucker

    Robert, I’ve been reading your blog since you started it, and you continue to post excellent content. Thanks again.
    Agree with your comment to Laust. Making the leap from “average” to “arithmetic mean” is in keeping with the Clearly and Simply principles you tend to embrace. I like that you respect the viewers’ ability to deduce what’s being shown on the chart. No one would see “median” and “average” and NOT instantly know what’s what.
    Excellent work.

  5. Alan Avatar
    Alan

    Hello,
    Why do you divide total number of calls (1.000.000) with duration of a particular call?

  6. Robert Avatar

    Alan,
    the formula distributes a large amount of calls (1,000,000 in my example) across all possible call durations (from 1 to 1,800 seconds in my example) according to a log-normal distribution function with the parameters set on the dashboard.
    Have a look at the links to Wikipedia provided above for more details.

  7. Alan Avatar
    Alan

    You multiply the probability obtained from lognormal distribution with 1,000,000*1/Call duration.
    Why 1,000,000 number of calls / Call duration?
    For the rest of the formula I understand that you get mean and st. deviation from Dashboard to calculate the probability for a specific call duration.

  8. Robert Avatar

    Alan,
    with 1 mn calls I am simulating a sufficiently large number of “observations”. It doesn’t make a big difference whether you are using 1 mn, 5 mn or only 500,000 calls as long as the number of observations is large enough. I.e. the simulation would not be working properly with only e.g. 1,000 calls.

  9. Alan Avatar
    Alan

    Robert,
    Yes I know that call number could variate like you said. I’m having problem understanding why you divide:
    total number of calls / specific call duration? What do you get from this?

  10. Robert Avatar

    Alan,
    ok, now I understand. Actually this is a trick to distribute the defined number of calls across the limited number of call durations (maximum 1,800 seconds). The division is not really by call duration, but more by a running index (which is the same in this case). You could also delete the division by the call duration / index, but this means you simulate 1,000,000 observations per call duration.
    Agreed, the trick leads to a function even more right skewed than the NORMDIST function with the parameters set on the dashboard really is. However this doesn’t matter. The idea of the model is to define a realistic call distribution on the dashboard by using the scroll bars and looking at the resulting distribution chart. It doesn’t really matter how this function is created.

  11. Alan Avatar
    Alan

    Robert,
    Thank you for your effort. It is a little bit clearer now. Does this trick have a name in statistics/probability or do you have maybe some link to provide for learning more?
    By deleting the division, simulating 1,000,000 observations per call duration means: e.g., if probability for call duration of 15 sec is 0,1%, this means that 100,000 of the calls have duration of 15 sec?

  12. Robert Avatar

    Alan,
    this is everything else than a standard statistical method, it is rather a dirty little trick I simply used to create an even more right-skewed function.
    As mentioned above, for my purposes it doesn’t really matter how the function is created as long as the distribution of call durations is reasonable.
    With regards to your second question: if the probability of a certain call duration is 0.1% and you have 1,000,000 observations, 1,000 calls will have this call duration.

  13. Alan Avatar
    Alan

    Robert,
    I’ve expressed myself wrong, I meant 10 %, but you understood the point (and correct me).
    What is the reason for even more right-skewed function?
    Many thanks.

  14. Robert Avatar

    Alan,
    there is always more than one way to skin the cat and my dirty trick was one option to get quickly to the probability function I had in mind. However, since this trick seems to be still confusing you, I uploaded a version without using this trick:

    Download Simulation Billing Increment Alternative (zipped Microsoft Excel 2003 Workbook, 419.8K)

    I hope this cleaner version makes things clearer now.

  15. Alan Avatar
    Alan

    Robert,
    Thanks a lot!
    Now you’ve deleted the confusing part and reduced the total number of calls. You are not dividing it with index. Basically, this is simple use of probability distribution.
    PDF gives the probability that a random variable X (call duration) takes a value : 1 – 1800 seconds.
    Shouldn’t the Number of calls (C9) always be <= Total number of calls (C4)?

  16. Robert Avatar

    Alan,
    cell C4 is not the total number of calls anymore in the alternative version. It is an arbitrary number used as the base value to calculate a number of calls for every call duration according to the probability of this call duration. C9 is the total number of calls (observations) resulting from this. C9 is – by definition – always way larger than C4.
    The input cell C4 does not play a major role for the outcome of the model (as long as it is large enough). Go and check out different values like 500 or 50,000 and have a look at the main results (comparison of billable seconds): the differences are next to nothing. Only if you select a very small number in cell C4 (e.g. 5) you will get a really different result.

  17. Alan Avatar
    Alan

    Robert,
    I thought that probability is distributed among all possible call durations so that the sum is 1?

  18. Robert Avatar

    Alan,
    it is a log-normal distribution not a normal distribution.

  19. Alan Avatar
    Alan

    Robert,
    If I was confused at the begining, now I am even more.
    Why in the alternative version, C4 isn’t the total number of calls anymore?
    This is how I’m seeing it (please correct me): there is a predefined total number of calls and the possible duration of the call (1-1800 seconds). Probability of call duration is distributed between above mentioned durations. For example, a 1 sec = 0.1, 2 sec = 0.2 , …. so that the sum of the probabilities is <= 1. These probabilities indicate the share of the calls with certain duration in the total number of calls.

  20. Robert Avatar

    Alan,
    the values of the function do not add up to 1. Each value of this function is multiplied by the value in cell C4 and the sum across all results is the total number of calls.
    However, all this does not really play a role for the model. The only purpose is to distribute a large amount of calls according to a right-skewed function as shown on the top left chart of the dashboard. As I said, there is always more than one way to skin the cat and you can also use a Weibull distribution, for instance.

Leave a Reply

Your email address will not be published. Required fields are marked *