Georgia Investment Network


Recent Blogs


Pitching Help Desk


Testimonials

"For those of you that are asking yourself whether this site is real, the answer is yes. My first thought was that I would put my proposal on the site and it would be sent for review, and at this point someone from within the Dealflow Investment Network office would contact me as an investor so I would be more likely to pay the $249 fee. I received 8 responses from investors overnight and 2 more since then. Thanks Dealflow Investment Network."
David Kriedeman - Chris Christopherson Inc

 BLOG >> Recent

Revenue Modelling [Business Models
Posted on June 25, 2013 @ 06:41:00 AM by Paul Meagher

In a previous blog on profit distributions, I suggested that we could forecast profit distributions for a line-of-business rather than make point estimates of how much the line-of-business might make over a specified period of time. A forecasted profit distribution can be viewed as arising from probabilistic factors that jointly produce the range of possible profit outcomes.

In order to compute profits, we need to estimate the revenue term in the profit equation (profits = revenue - costs). In today's blog, I want to focus on revenue modelling because it can provide insight into how our profit distribution forecasts might arise and also because revenue modelling is a useful and interesting intellectual exercise.

To make a revenue model for a line-of-business that can be used to account for some of the variability in a profit distribution, we need to specify the primary factors that generate revenue and how they might interact to produce the expected range of possible revenue outcomes. We can go into more or less detail on what these primary factors are and how they interact, but initially we should be content to deal with just two or three factors until we master that level of model complexity.

Lobster Fishing Revenue Model

To illustrate what a revenue model for a line-of-business might look like, I will take the example of lobster fishing which I am somewhat familiar with because my in-laws are fisherman (they fish lobster and crabs and grow oysters). I will construct a revenue model that might account for this season's revenue from the lobster fishing line-of-business.

A season of lobster fishing has a start date and an end date, in this case from May 1 to June 30, 2013. Between these dates, fishermen can set traps for lobsters and keep those that fall within conservation guidelines. The lobsters are not fished every day; usually you leave the traps for a day and come back the second day to harvest your traps (fyi, they harvest their crab traps on off days until they complete their crab quota). The harvest you obtain from your traps is called your "catch" and the season can be viewed as consisting of the number and sizes of catches you made over the season, and the prices you obtained for your various catches. So the two primary factors we will use to characterize a catch is the size of the catch in pounds (lbs) and the price per lb that was received for that catch. We can compute the revenue for a season of fishing by adding up the revenue per catch for all their catches in that season.

What I want to do in this week's blogging is construct a simple probabilistic revenue model for lobster fishing and then explore a set of refinements I might make in order to make it a more realistic revenue model. This might inspire in you to construct a simple revenue model for your own line-of-business and to consider what additional factors you might want to take into account to make it more realistic.

Revenue Model Implementation

You can implement a revenue model using whatever programming language you are comfortable with. In the example below I use PHP because I have developed a Probability Distributions Library (https://github.com/mrdealflow/PDL) that I find useful for injecting uncertainty into the model. I inject uncertainty by assuming that the catch size is normally distributed with a mean catch size of 500 lbs and a standard deviation of 150 lbs. This means that as my program iterates through all the catches it generates a possible catch size by sampling from a normal distribution of values with a mean of 500 lbs and a standard deviation of 150 lbs. This results in catch sizes that vary quite a bit from catch to catch. I also inject uncertainty into the revenue model by assuming that the price per lb for live lobster is $3.50 per lbs with a standard deviation of 25 cents from catch to catch. So as we iterate through each catch we sample from a catch size distribution and a price per lb distribution and multiply the sampled values together to compute the revenue generated for that catch. The revenue generated for each catch is primarily a function of the catch size random variable and the price per lb random variable. Here is what the model looks like:

<?php

// @script: lobster_revenue.php
// @author: Paul Meagher
// @modified: June 25/2013

// The probability distributions library sits 
// in the PDL folder at the same level as the 
// folder the script is run from.
//
// @see https://github.com/mrdealflow/PDL

require_once '../PDL/NormalDistribution.php';

// Set the number of catches per season.

$num_catches 28;

// Assume the catch size is 500 lbs per catch with standard 
// deviation of 150 per catch

$lobster_catch_distribution  = new NormalDistribution(500150);

// Assume the price per lb is 3.50 with a standard deviation of 
// 25 cents.

$lobster_price_distribution  = new NormalDistribution(3.50.25);

?>
<table border='1'>
  <thead>
  <tr>
    <th>Catch #</th>
    <th>Price/LB</th>
    <th>Weight(LB)</th>
    <th>Revenue</th>
  </tr>
  </thead>
  <tbody>
  <?php
  
for ($i=0$i<$num_catches$i++) {
    
// Call random number generator RNG to sample a value from the distribution.
    
$lobster_catch[$i]   = round($lobster_catch_distribution->RNG());
    
$lobster_price[$i]   = sprintf("%01.2f",$lobster_price_distribution->RNG());
    
$lobster_revenue[$i] = sprintf("%01.2f",$lobster_catch[$i] * $lobster_price[$i]);  
    
?>
    <tr>
      <td align='center'><?php echo ($i+1?></td>
      <td align='center'>$<?php echo $lobster_price[$i?></td>
      <td align='center'><?php echo $lobster_catch[$i?></td>
      <td align='center'>$<?php echo $lobster_revenue[$i?></td>
    </tr>            
    <?php
  
}
  
?>
  <tr>
    <td>&nbsp;</td>
    <th>Totals</th>
    <td align='center'><?php echo array_sum($lobster_catch?></td>    
    <td align='center'>$<?php echo array_sum($lobster_revenue?></td>
  </tbody>
</table>

And here is the output that the lobster_fishing.php revenue model generates:

Catch # Price/LB Weight(LB) Revenue
1 $3.92 667 $2614.64
2 $3.58 566 $2026.28
3 $3.34 511 $1706.74
4 $3.75 620 $2325.00
5 $3.68 441 $1622.88
6 $3.10 439 $1360.90
7 $3.15 508 $1600.20
8 $3.62 476 $1723.12
9 $3.47 441 $1530.27
10 $3.64 503 $1830.92
11 $3.58 145 $519.10
12 $3.25 423 $1374.75
13 $3.29 825 $2714.25
14 $3.23 520 $1679.60
15 $3.40 340 $1156.00
16 $3.96 284 $1124.64
17 $3.16 454 $1434.64
18 $3.17 541 $1714.97
19 $3.47 668 $2317.96
20 $3.51 469 $1646.19
21 $3.72 367 $1365.24
22 $3.74 580 $2169.20
23 $3.49 579 $2020.71
24 $3.72 488 $1815.36
25 $3.41 691 $2356.31
26 $3.36 450 $1512.00
27 $3.71 617 $2289.07
28 $3.75 646 $2422.50
  Totals 14259 $49973.44

Some Refinements

In my next two blogs I'll be exploring a couple of refinements to this revenue model that are designed to make the revenue model more realistic and also to give you more modelling ideas you might use to construct more realistic revenue models for your own lines-of-business.

Permalink 

 Archive 
 

Archive


 September 2019 [1]
 July 2019 [1]
 June 2019 [2]
 May 2019 [2]
 April 2019 [5]
 March 2019 [4]
 February 2019 [3]
 January 2019 [3]
 December 2018 [4]
 November 2018 [2]
 September 2018 [2]
 August 2018 [1]
 July 2018 [1]
 June 2018 [1]
 May 2018 [5]
 April 2018 [4]
 March 2018 [2]
 February 2018 [4]
 January 2018 [4]
 December 2017 [2]
 November 2017 [6]
 October 2017 [6]
 September 2017 [6]
 August 2017 [2]
 July 2017 [2]
 June 2017 [5]
 May 2017 [7]
 April 2017 [6]
 March 2017 [8]
 February 2017 [7]
 January 2017 [9]
 December 2016 [7]
 November 2016 [7]
 October 2016 [5]
 September 2016 [5]
 August 2016 [4]
 July 2016 [6]
 June 2016 [5]
 May 2016 [10]
 April 2016 [12]
 March 2016 [10]
 February 2016 [11]
 January 2016 [12]
 December 2015 [6]
 November 2015 [8]
 October 2015 [12]
 September 2015 [10]
 August 2015 [14]
 July 2015 [9]
 June 2015 [9]
 May 2015 [10]
 April 2015 [10]
 March 2015 [9]
 February 2015 [8]
 January 2015 [5]
 December 2014 [11]
 November 2014 [10]
 October 2014 [10]
 September 2014 [8]
 August 2014 [7]
 July 2014 [6]
 June 2014 [7]
 May 2014 [6]
 April 2014 [3]
 March 2014 [8]
 February 2014 [6]
 January 2014 [5]
 December 2013 [5]
 November 2013 [3]
 October 2013 [4]
 September 2013 [11]
 August 2013 [4]
 July 2013 [8]
 June 2013 [10]
 May 2013 [14]
 April 2013 [12]
 March 2013 [11]
 February 2013 [19]
 January 2013 [20]
 December 2012 [5]
 November 2012 [1]
 October 2012 [3]
 September 2012 [1]
 August 2012 [1]
 July 2012 [1]
 June 2012 [2]


Categories


 Agriculture [71]
 Bayesian Inference [14]
 Books [15]
 Business Models [24]
 Causal Inference [2]
 Creativity [7]
 Decision Making [15]
 Decision Trees [8]
 Design [36]
 Eco-Green [4]
 Economics [12]
 Education [10]
 Energy [0]
 Entrepreneurship [59]
 Events [2]
 Farming [20]
 Finance [25]
 Future [15]
 Growth [18]
 Investing [24]
 Lean Startup [10]
 Leisure [5]
 Lens Model [9]
 Making [1]
 Management [9]
 Motivation [3]
 Nature [22]
 Patents & Trademarks [1]
 Permaculture [34]
 Psychology [1]
 Real Estate [2]
 Robots [1]
 Selling [11]
 Site News [14]
 Startups [12]
 Statistics [3]
 Systems Thinking [3]
 Trends [7]
 Useful Links [3]
 Valuation [1]
 Venture Capital [5]
 Video [2]
 Writing [2]