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
- 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.
- 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.
- 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).
- 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.
| Item | Value |
|---|---|
| Mean | 11590.8 |
| Std. Deviation | 3860.8 |
| Minimum | 1346.0 |
| Maximum | 27068.4 |
| Percentile 5 | 5931.8 |
| Percentile 10 | 6903.9 |
| Percentile 25 | 8697.0 |
| Percentile 50 | 11220.4 |
| Percentile 75 | 14125.6 |
| Percentile 90 | 16842.8 |
| Percentile 95 | 18432.1 |
5000 of 5000 iterations gave a finite target.
| Input | Correlation with target | Change in target at +1 SD | Change in target at −1 SD | Contribution to variance |
|---|---|---|---|---|
| price | 0.587 | 2205.9 | −2205.9 | 0.314 |
| units | 0.786 | 2947.0 | −2947.0 | 0.688 |
| cost | −0.238 | −866.0 | 866.0 | 0.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.
Related procedures
- BootstrappingBOOTSTRAP
- P-P and Q-Q PlotsPPLOT
- Sample CasesSAMPLE
- DescriptivesDESCRIPTIVES
- Free SPSS alternative: full coverage list
Run Simulation on your own data
Open a .sav, CSV or Excel file. Everything runs in your browser; the file never leaves your device.
SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.