Investing in a Better Way to Treat Obesity, Heart Disease and Type-2 Diabetes

  

Property Development

  

Financial Services Company looking to scale up

  

National Drone Racing League

  

Water Security

  

Supreme Samosa

  

TixiT Ticket Company - Professional Consulting & Ticketing Operations Management

  

Caribbean Land Plots for Sale

  

25% Ownership B.C. Precious Opal Gemstone Mine

  

Chekkit GeoLocation Services

  

Who wants to make a million dollars?

  

Spa Wizard, Technology that will Revolutionize the Spa Industry

  

Need Funding

  

Debt Investment 8-10% return

  

iOS and Android video game. Gameplay video + Pitch deck available

  

We Invest Your Money Into Profitable Real Estate

  

Developer and Distributor of Personal Locating Devices for Medical, Judicial Applications

  

Seeking investor(s) for an action/drama film featuring notable actors and actresses

  

Startup company - Novelty Product Line - 100% Odor free Toilets & Urinals Fixtures

  

Professional Cross Border Basketball Organization- Canada- U.S.A

  

Real Estate Property and Eco-Retreat Resort

  

Tanzanite Elegant

  

Birthing Friends

  

Real-Estate Investment Opportunity in Hot Market! Short Cycle Project with Excellent ROI

  

Help Bring This New Product to Market For 30% Partnership

  

Access to a $26 Billion Market is only $500K Away

  

Pc and Virtual Reality Competition Gaming Center by E-sport Enthusiasts

  

Smart Lite, A Breakthrough In Commercial Truck Safety

  

UAV Integrity Inspection Services

  

NEW Prominent Wildfire Solutions 2017

  

Retail and Distribution of pipe & cable support products

  

Gold Mining

  

Rental Multifamily Project Offering Quarterly Cash Distribution, 8% Preferred Return & Profit Upside

  

Manufacturing plant for prefab Homes

  

Great cashflow and monthly dividend

  

IPO-Ready Industrial Bio-Materials Start-Up for SALE

  

Forestry Contract

  

Beverages and Tobacco Export/Trade

  

Patented High Demand Communcations Platform

  

Hybrid truck network

  

 

Canadian Investment Network


Recent Blogs


Pitching Help Desk


Testimonials

"Our small, early-stage company recently signed up for your service. We got numerous inquiries, several of which we are pursuing, and hopefully will find an investor partner as a result. It is almost impossible for young companies to attract investment capital in the current financial climate, but you managed to bring a number of qualified and interested parties to the table. I would recommend your service to any early-stage company seeking capital. Bruce Jones, CFO "
Bruce Jones

 BLOG >> Recent

Implementing a business model in PHP [Business Models
Posted on February 11, 2013 @ 06:07:00 AM by Paul Meagher

In my previous article, I critized the idea that you could claim to have a business model if it was not sufficiently well defined that you could run it as a computer program that would estimate costs, revenue, and profit over time. I concluded by saying that I would reveal a runnable business model in my next article. Well, here it is.

I developed a script called monthly_growth.php which implements a business model that assumes you will grow your business by a certain number of new customers each month and those customers will each pay a monthly fee for your service. The revenues from new and existing customers each month is offset by two types of costs - a fixed monthly cost for "rents" and a variable costs associated with the cost of servicing each client. As the number of clients grows this servicing cost grows.

I run the script by pointing my browser at the url where it resides on my web server. If you host a site you probably have access to a PHP interpreter so could potentially run this script by saving it in a web folder on your site and then typing in the url to that file in your web browser. If you have the php module running in your webserver then you will see the table output below when you do so. I will also be making a web-based front end to this script in it's next iteration so that you can just run the model from this site by entering values in the input form. I did, however, want you to see the "guts" of what an implemented business model looks like so wanted to keep this version as simple as possible to make it easier to follow and modify for your own purposes.

Before running the script you need to review a few settings and change them to values that might be more appropriate to your situation. In this example, I'm assuming that we are starting from 0 customers, will add 10 new customers each month, and each of those customers will pay a monthly fee of $30. The monthly fixed fee, the "rents", is assumed to be $1000 a month and the cost of servicing each customer is assumed to be $10 a month. I'm interested in projecting out to 3 years into the future. This set of configurations generates this business model output:

YearMonth# CustomersRevenuesCostsProfits
2013 2 10 $300.00 $1,100.00 -$800.00
2013 3 20 $600.00 $1,200.00 -$600.00
2013 4 30 $900.00 $1,300.00 -$400.00
2013 5 40 $1,200.00 $1,400.00 -$200.00
2013 6 50 $1,500.00 $1,500.00 $0.00
2013 7 60 $1,800.00 $1,600.00 $200.00
2013 8 70 $2,100.00 $1,700.00 $400.00
2013 9 80 $2,400.00 $1,800.00 $600.00
2013 10 90 $2,700.00 $1,900.00 $800.00
2013 11 100 $3,000.00 $2,000.00 $1,000.00
2013 12 110 $3,300.00 $2,100.00 $1,200.00
2014 1 120 $3,600.00 $2,200.00 $1,400.00
2014 2 130 $3,900.00 $2,300.00 $1,600.00
2014 3 140 $4,200.00 $2,400.00 $1,800.00
2014 4 150 $4,500.00 $2,500.00 $2,000.00
2014 5 160 $4,800.00 $2,600.00 $2,200.00
2014 6 170 $5,100.00 $2,700.00 $2,400.00
2014 7 180 $5,400.00 $2,800.00 $2,600.00
2014 8 190 $5,700.00 $2,900.00 $2,800.00
2014 9 200 $6,000.00 $3,000.00 $3,000.00
2014 10 210 $6,300.00 $3,100.00 $3,200.00
2014 11 220 $6,600.00 $3,200.00 $3,400.00
2014 12 230 $6,900.00 $3,300.00 $3,600.00
2015 1 240 $7,200.00 $3,400.00 $3,800.00
2015 2 250 $7,500.00 $3,500.00 $4,000.00
2015 3 260 $7,800.00 $3,600.00 $4,200.00
2015 4 270 $8,100.00 $3,700.00 $4,400.00
2015 5 280 $8,400.00 $3,800.00 $4,600.00
2015 6 290 $8,700.00 $3,900.00 $4,800.00
2015 7 300 $9,000.00 $4,000.00 $5,000.00
2015 8 310 $9,300.00 $4,100.00 $5,200.00
2015 9 320 $9,600.00 $4,200.00 $5,400.00
2015 10 330 $9,900.00 $4,300.00 $5,600.00
2015 11 340 $10,200.00 $4,400.00 $5,800.00
2015 12 350 $10,500.00 $4,500.00 $6,000.00
2016 1 360 $10,800.00 $4,600.00 $6,200.00
2016 2 370 $11,100.00 $4,700.00 $6,400.00

So what we have here are monthly estimates of cost, revenue, and profit over a three year period. We can see how our revenues grow faster than our costs and eventually starts producing a profit situation which increases over time. You might be saying "but the assumptions are too simple". You might argue that customers won't come in as regular blocks of 10 new customers a month but rather as a smaller number per month at the beginning and a larger number per month as your business gains momentum. The beauty of providing you with the source code is that you are now empowered to change the business model so that customer growth follows, say, an exponential function or piecewise-linear function rather than a simple linear one. You can do that if you have access to the source code which is provided below (with lots of comments in the code that preclude the need for me to explain it much more):

<?php 
/**
* Prototypical business model involving the generation of monthly 
* revenue based upon the number of existing customers plus new 
* customers per month with each customer paying a monthly fixed fee.  
* Costs based upon monthly fee for servicing "rents" and a cost per 
* customer (variable cost) for providing the service to the customer.
*
* Assumes simple linear growth. 
*
* @script: monthly_growth.php
* @author: Paul Meagher
* @version: 0.1
* @modified: Feb 11, 2012
*/

// PART 1: CHANGE THESE SETTINGS

// Set number of years for your projections.
$num_years 3;

$num_new_customers_per_month 10;
$monthly_fee_per_customer 30;
$monthly_cost_per_customer  10;

// Cost of "rents" per month.
$fixed_cost_per_month 1000;

// Starting number of customers customers - default 0.  
$num_customers 0;  

// Set money formatting according to a locale setting.
setlocale(LC_MONETARY'en_CA');

// Starting month - defaults to current month.
$start_month date("n");

// PART 2: DO NOT CHANGE THESE INITIALIZATION SETTINGS

// setup year number to year date mapping for reporting purposes
$year_num_to_year_date[1] = $next_year date("Y");
for(
$n 2$n <= $num_years+1$n++) {
    
$next_year $next_year 1
    
$year_num_to_year_date[$n] = $next_year;
}

// Zero the parameters we will be estimating
$costs    = array();
$revenues = array();
$profits  = array();

// PART C: GENERATE REPORT PROVIDING ESTIMATES OF COST, 
// REVENUES, & PROFITS
?>

<table border='1' cellpadding='5' cellspacing='0'>
  <thead>
    <tr>
      <th>Year</th><th>Month</th><th># Customers</th>
      <th>Revenues</th><th>Costs</th><th>Profits</th>
    </tr>
  </thead>
  <?php
  
if ($start_month == 1
    
$y_end $num_years;
  else
    
$y_end $num_years 1
  
  for(
$y=1$y<=$y_end$y++) {
      
      if (
$y == 1
        
$m $start_month;
      else
        
$m 1;
    
    for (
$m$m<=12$m++) {
      
$num_customers $num_customers $num_new_customers_per_month;
      
$year_date     $year_num_to_year_date[$y];
      
// the data structures don't have to be this complicated
      // but they can be used in downstream calculatios more  
      // easily in this format
      
$costs[$year_date][$m]    = ($num_customers $monthly_cost_per_customer
                                  + 
$fixed_cost_per_month;
      
$revenues[$year_date][$m] = $num_customers $monthly_fee_per_customer;
      
$profits[$year_date][$m]  = $revenues[$year_date][$m] - $costs[$year_date][$m];
      if ((
$y == $y_end) AND ($m == ($start_month+1)))
        break; 
      
?>
      <tr>
       <td><?php echo $year_date ?></td>    
       <td align='center'><?php echo $m ?></td>    
       <td align='center'><?php echo $num_customers ?></td>           
       <td align='right'><?php echo money_format('%n'$revenues[$year_date][$m]) ?></td>    
       <td align='right'><?php echo money_format('%n'$costs[$year_date][$m]) ?></td>    
       <td align='right'><?php echo money_format('%n'$profits[$year_date][$m]) ?></td>    
      </tr>
      <?php
    
}
  }
  
?>
</table>

There is more to be said and done on the topic of business models so I may continue posting on this topic this week.

Permalink 

 Archive 
 

Categories


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