Research & Evidence

Search for a method

Search titles, questions, territories and MSC identifiers.

    ← All methods
    METHOD DOSSIERMSC-P-034Evidence foundationsVerified scientific dossier

    How do you build a Monte Carlo simulation for a marketing decision?

    Monte Carlo propagates input distributions through a decision model. Quality depends less on draw count than on relevant distributions, dependencies and scenarios.

    Scientific editorial team: Marketing Science Center

    Direct answer

    Estimate an outcome distribution and probability of crossing a threshold.

    Monte Carlo propagates input distributions through a decision model. Quality depends less on draw count than on relevant distributions, dependencies and scenarios.

    McKay, Beckman & Conover, 1979Saltelli et al., 2010

    01

    Direct answer

    A Monte Carlo simulation propagates input distributions through a deterministic model. With 20,000 draws and seed 20260822, MSC-010 gives median incremental profit of €10,538.92 and 5.555% negative scenarios.

    02

    Scientific question

    What distribution of a decision outcome follows from declared input assumptions, and what is the probability of crossing a threshold?

    03

    Population, unit and horizon

    The unit is scenario × draw × period. Distributions describe uncertainty about one price-volume-margin decision, not 20,000 observed markets.

    04

    Statistical target

    The target is the conditional distribution of ΔΠ=f(X), especially median, 5th/95th percentiles and Pr(ΔΠ<0), under fixed distributions and dependencies.

    05

    Required data

    For every input declare distribution, parameters, unit, source, horizon and dependencies. MSC-010 has fixed price, correlated normal volume and elasticity at −0.20, triangular costs and fixed price change.

    06

    Assumptions

    Assume distributions represent relevant uncertainty, linear correlation is adequate, the model remains valid over all draws, and truncations or constraints are explicit.

    07

    Model

    For each draw s: P₁=P₀(1+d), Q₁=Q₀(1+d)^ε and ΔΠₛ=(P₁−VC)Q₁−(P₀−VC)Q₀−ΔFC.

    08

    Reproducible calculation

    The script reads the base scenario, generates 20,000 draws with a fixed seed, imposes ρ=−0.20 using two normals, applies triangular distributions and sorts ΔΠ to calculate quantiles.

    09

    Results

    Mean €10,437.88, median €10,538.92, P5 −€357.20, P95 €21,066.54 and Pr(ΔΠ<0)=5.555%.

    MSC-010 · seed 20260822 · 20,000 draws
    MeanMedianP5P95Pr(ΔΠ<0)
    €10,437.88€10,538.92−€357.20€21,066.545.555%

    10

    Monte Carlo error

    For estimated risk p̂, MC_SE=√[p̂(1−p̂)/S]=0.1620 percentage point. This simulation error covers neither model error nor misspecified distributions.

    11

    Convergence and sensitivity

    Repeat with more draws and multiple seeds, track median, quantiles and risk, then vary distributions, dependencies and parameters. Numerical convergence alone does not validate assumptions.

    12

    Diagnostics

    Check impossible values, support, realised correlations, quantile stability, each input’s contribution, extreme scenarios and unit consistency.

    13

    Common errors

    Common errors are confusing draws with observations, choosing convenient distributions, ignoring dependencies, reporting only the mean, hiding the seed or treating simulated probability as observed frequency.

    14

    Interpretation

    Under MSC-010, the scenario is usually positive but its lower tail crosses zero. The 5.555% figure is risk conditional on distributions, not known real-world risk.

    15

    Supported decision

    Compare threshold risk across consistently defined scenarios, target data collection and set a conditional escalation or test rule.

    16

    Unsupported decision

    Do not claim an objective probability, guarantee profit, validate a distribution through numerical convergence or ignore unencoded structural uncertainty.

    17

    Implementation

    The CC0 CSV documents distributions and dependencies; dependency-free MIT Python fixes scenario, seed and draw count and reports reference metrics.

    18

    Expected deliverable

    Deliver an assumption register, dependencies, seed, draws, code, quantiles, threshold risk, Monte Carlo error, convergence, sensitivity and supported/unsupported decision.

    19

    Scientific sources

    Saltelli et al. support the Y=f(X) representation, variance decomposition and the need to examine interactions and computational cost. Their paper validates neither synthetic MSC-010 distributions nor the resulting risk figure.

    1. Saltelli et al. (2010) ↗Full text verified

    Dataset · Tool

    Dataset · MSC-010Monte Carlo assumptions→Tool · MSC-T08Threshold risk→

    Method connections

    Parent territoryStatistical decision methods: choose, quantify, validateRequiresHow should uncertainty in a marketing result be expressed?Compare withHow do you simulate a price-volume-margin scenario?

    Read next

    MSC-H-006Statistical decision methods: choose, quantify, validate→MSC-P-003How should uncertainty in a marketing result be expressed?→MSC-P-024How do you simulate a price-volume-margin scenario?→MSC-P-033How do you validate a marketing forecast?→