Comparison of several optimization methods on the Bass model

Modeling and forecasting the diffusion of innovations has been an academic interest since the 1960s and has since become one of the most influential topics in marketing and management science. Of the main models used for innovation diffusion, the Bass model, which was first published in 1969, quickly became the most popular model to describe the adoption process of new products in a population. The model accounts for the initial importance of innovators and the “word of mouth” effect among adopters in determining the speed of adoption.

Bass Diffusion Equation

The differential equation formulation of the Bass Model is as follows:


where N is the cumulative adopters at time t. p is the coefficient of innovation, implying that there is a certain percentage of researchers who independently begin to adopt the innovation at each time step. q is the coefficient of imitation, representing the “word of mouth” effect where the adopters spread the innovation to potential adopters at each time step. m is the total number of adopters over the whole period of the innovation.

Ordinary Least Squares (OLS)

The discrete analog of the Bass model allows the formulation to be written accordingly:

n(t) = pm + (q-p)N(t-1) - (q/m)[N(t-1)]^2

Then we can estimate parameters $p$, $q$, and $m$ by employing the OLS method to estimate parameters a, b, and c, given the analog n(t) = a + bN - cN^2. The residual sum of squares can be written as


It is well known that \beta, the instance of b that minimizes the S(b), has analytical solution

\beta = (X^TX)^{-1}X^Ty

so we can compute it very easily.

Non-Linear Least Squares (NLS) Optimization

This approach seeks to minimize the objective function:

\min_{x\in X} \left\{\sum_{t=T_0}^T (n^*(t|x)-n(t|x))^2 \right\}

where n(t|x) is the actual number of total adopters at time t and n^*(t|x) is the predicted number of total adopters based on the Bass model, given the parameter vector x=[p,q,m]^T.

Genetic Algorithm (GA)

Genetic algorithm (GA) is a searching technique to look for exact or approximate solutions for optimization and searching problems. It is considered as a global search heuristic. GA uses techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover. A typical genetic algorithm requires a genetic representation of the solution domain and a fitness function to evaluate the solution domain. In GA, an abstract representation of candidate solutions is called chromosomes, and it could be used in an optimization problem to evolve toward better solutions. Solutions are represented in some encoding method, such as binary encoding. A fitness function is a particular type of objective function that prescribes the optimality of a solution so that a particular chromosome may be ranked against all the other chromosomes. The evolution usually starts from a population of randomly generated individuals. In each generation, the fitness of every individual in the population is evaluated. Based on their fitness, the fittest group of individuals are selected and through reproduction, crossover or mutation to form a new population. The new population is then used in the next iteration of the algorithm. Commonly, the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population.

Maximum Likelihood Estimation (MLE)

Let f(t) denote the probability density function of adoption at time t, F(t) the cumulative density function. Then the Bass equation can be written as

f(t) = (p+qF(t))(1-F(t))

This is an ordinary differential equation that can be solved with the initial condition F(0)=0. Take the integral of the both sides of the above equation we get

F(t) = \frac{1-e^{-bt}}{1+ae^{-bt}}

where a\equiv q/p and b\equiv p+q. However this solution assumes all consumers in the population eventually adopt the new product, i.e., the cumulative density function ends at 1. Bass equation is a diffusion system where the eventually adopting probability is c, so the analytical solution to the cumulative density function should be

F(t) = c\frac{1-e^{-bt}}{1+ae^{-bt}}

Note that the population in this system is cM, where M is the number of population in our previous models. We know the likelihood function is

L(a,b,c|n)=[1-F(t_{T-1})]^{n_T} \prod_{i=1}^{T-1}[F(t_i)-F(t_{i-1})]^{n_i}

where t_i are the time points of the data, i = 1,2,\cdots,T. and n_T is the number of people who did not adopt by time t_{T-1}, i.e., n_T=M-\sum_{i=1}^{T-1} n_i. Thus the analytical form of the log-likelihood function is given by

l(a,b,c|n)=n_T\log(1-c\frac{1-e^{-bt_{T-1}}}{1+ae^{-bt_{T-1}}})+\sum_{i=1}^{T-1} n_i\log(c\frac{1-e^{-bt_i}}{1+ae^{-bt_i}}-c\frac{1-e^{-bt_{i-1}}}{1+ae^{-bt_{i-1}}})

After solving for a, b and c, we can easily get the estimators of p, q and m by the one-to-one correspondence between them.

p = \frac{b}{a+1}, \quad q=\frac{ab}{a+1}, \quad m=cM

Performance Comparison



One thought on “Comparison of several optimization methods on the Bass model

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s