Implementing a Metapopulation Bass Diffusion Model using the R Package deSolve

Diffusion is a fundamental process in physical, biological, social and economic settings. Consumer products often go viral, with sales driven by the word of mouth effect, as their adoption spreads through a population. The classic diffusion model used for product adoption is the Bass diffusion model, and this divides a population into two groups of people: potential adopters who are likely to adopt a product, and adopters who have purchased the product, and influence others to adopt. The Bass diffusion model is normally captured in an aggregate form, where no significant consumer differences are modeled. This paper extends the Bass model to capture a spatial perspective, using metapopulation equations from the field of infectious disease modeling. The paper’s focus is on simulation of deterministic models by solving ordinary differential equations, and does not encompass parameter estimation. The metapopulation model in implemented in R using the deSolve package, and shows the potential of using the R framework to implement large-scale integral equation models, with applications in the field of marketing and consumer behaviour.

Jim Duggan
2017-05-10

CRAN packages used

deSolve, EpiModel, ggplot2, scales

CRAN Task Views implied by cited packages

DifferentialEquations, Graphics, Phylogenetics

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Duggan, "Implementing a Metapopulation Bass Diffusion Model using the R Package deSolve", The R Journal, 2017

BibTeX citation

@article{RJ-2017-006,
  author = {Duggan, Jim},
  title = {Implementing a Metapopulation Bass Diffusion Model using the R Package deSolve},
  journal = {The R Journal},
  year = {2017},
  note = {https://doi.org/10.32614/RJ-2017-006},
  doi = {10.32614/RJ-2017-006},
  volume = {9},
  issue = {1},
  issn = {2073-4859},
  pages = {153-163}
}