SPSS command: SPSS SIMPLAN / SIMRUN

Monte Carlo simulation in your browser

Monte Carlo simulation draws thousands of random values for uncertain inputs, evaluates a formula for each draw and shows the spread of possible outcomes.

Free · No account · Files stay on your device · Updated 18 October 2026

What it tells you

Crosstabs runs the simulation step of SPSS SIMULATION on your device: eleven input distributions, a safe expression language, percentiles, a histogram and SPSS's three sensitivity measures.

  • The expected value and spread of an outcome such as profit, cost or demand when its inputs are uncertain.
  • A range of likely outcomes from percentiles 5 to 95, for example a 90% band for next year's profit.
  • Which input matters most, from its correlation with the target, the one-at-a-time change at ±1 SD and its contribution to variance.

When to use it

Use it when

  • Budget, pricing or capacity questions where several inputs are uncertain and the formula is known.
  • Communicating risk as a range instead of a single best guess.
  • Deciding which input is worth measuring more precisely.

Use something else when

  • Inputs that are strongly correlated with each other: inputs are drawn independently here, which can understate or overstate the spread.
  • Fitting distributions to a dataset or simulating from a fitted predictive model: SPSS SIMPLAN can do that, this panel works from distributions you type in.

How to run it in Crosstabs

  1. 01

    Choose Simulation

    In the Utilities and charts group pick Simulation; no data file is needed. The panel starts with a worked profit model you can edit.

  2. 02

    Define the inputs

    For each row set the Input name and Distribution (Fixed value, Normal, Uniform, Triangular, Lognormal, Exponential, Beta, Gamma, Binomial, Poisson or Categorical) with its parameters; use Add input or Remove.

  3. 03

    Write the target expression

    Enter the Target expression using input names, numbers, + − * / ^, comparisons, and/or/not and functions such as sqrt, ln, min, max and if(condition, then, else).

  4. 04

    Run

    Set Iterations (10 to 200,000; default 10,000) and the Random seed, then press Run simulation. It runs in a background worker.

Worked example

Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.

Data

No data file is needed: three uncertain inputs are defined by distributions — price ~ Normal(20, 2), units ~ Triangular(800, 1000, 1500) and cost ~ Uniform(9000, 12000) — and the target is price * units − cost. 5,000 iterations with seed 20261017.

Target Summary
ItemValue
Mean11590.8
Std. Deviation3860.8
Minimum1346.0
Maximum27068.4
Percentile 55931.8
Percentile 106903.9
Percentile 258697.0
Percentile 5011220.4
Percentile 7514125.6
Percentile 9016842.8
Percentile 9518432.1

5000 of 5000 iterations gave a finite target.

Sensitivity
InputCorrelation with targetChange in target at +1 SDChange in target at −1 SDContribution to variance
price0.5872205.9−2205.90.314
units0.7862947.0−2947.00.688
cost−0.238−866.0866.00.076

How to read it

Profit averages 11591 with a standard deviation of 3861; 90% of simulated outcomes fall between 5932 and 18432. units drives most of the uncertainty (correlation 0.786, contribution to variance 0.688), so narrowing the estimate of units would tighten the forecast more than refining the other inputs.

Output tables explained

Distribution of the target
A histogram of the simulated target values.
Target Summary
Mean, standard deviation, minimum, maximum and percentiles 5, 10, 25, 50, 75, 90 and 95 (HAVERAGE definition), with the number of iterations that gave a finite value.
Sensitivity
For each input: correlation with the target, change in the target when the input moves +1 or −1 SD with the others held at their simulated values, and contribution to variance (Sobol total index).

Assumptions and notes

  • Inputs are independent; correlated inputs are not supported.
  • Results carry Monte Carlo error, which shrinks with the square root of the number of iterations; tail percentiles need more iterations than the mean.
  • The same seed reproduces the same run here; SPSS's random stream differs, so values will not match SPSS draw for draw.

How the results are validated

Simulation has no external fixture; its tests check known answers. With 100,000 iterations of a + 2b (a normal, b uniform) the mean falls within 5 Monte Carlo standard errors of 16, the SD within 0.05 of 4, the correlations within 0.01 of their theoretical values and the one-at-a-time changes match exactly to 1e-9. Each sampler's mean and variance are checked on 200,000 draws, runs are reproducible by seed, and the expression parser rejects anything outside its grammar. Validation evidence

Questions

How many iterations do I need?

10,000 gives stable means and central percentiles for most models. Increase to 50,000 or more if you report the 5th or 95th percentile to several significant digits.

Which sensitivity measure should I read?

Contribution to variance answers which input drives the uncertainty, including through interactions. Correlation shows direction, and the one-at-a-time change shows the effect in the target's own units.

Can I use my data to fit the input distributions?

Not in this panel; you type the parameters. P-P and Q-Q Plots and Descriptives can help you pick a distribution and its parameters from your data first.

Is the expression evaluated safely?

Yes. It is parsed by a small grammar of numbers, input names, operators and a fixed list of functions; anything else is rejected rather than executed.

Run Simulation on your own data

Open a .sav, CSV or Excel file. Everything runs in your browser; the file never leaves your device.

Open the workspace

SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.