Skip to main content

Core concepts

The terms and mental model behind Distribution Fitter — what these ideas mean and why they work the way they do. For task-oriented steps, see How-to; for exhaustive field and option lists, see Reference.

Key concepts

ConceptDescription
Fitting ProjectA named workspace tied to one dataset. Holds your fit configuration and history.
Candidate distributionOne of the distributions the Fitter tries — normal, lognormal, gamma, weibull, beta, exponential, triangular, uniform, erlang for continuous; poisson, binomial, geometric, negative_binomial, rounded_uniform for discrete.
AIC / BICGoodness-of-fit scores that penalize parameter count. Lower is better. AIC is the primary sort key.
KS / ADKolmogorov–Smirnov and Anderson–Darling statistics — measures of how far the fit deviates from the data, with KS reported for everything and AD added for continuous fits (more sensitive to tails).
Library entryA saved fit. Org-scoped, so every member sees the same library.
Fill byOptional grouping column. When set, the Fitter runs one fit per unique value (e.g. one per region) and saves one library entry per stratum.

Why the library is org-scoped

The library is org-scoped, matching how the Data Hub works. Anyone in your organization can see and use the same library entries. One person fits a distribution; the whole team uses it.

This is also why library reads stay available after a trial expires: anyone in the org can still insert previously-saved entries into their tools. Only creating new fits is gated to Pro and active trial users.

Per-stratum fits turn labeled data into routed simulation logic

When a fit is saved with Fill by set, the library gets one entry per stratum instead of a single base entry. In Process Map, inserting a stratified library entry into a Task node generates a distribution_rules block — one rule per stratum — that routes by the matching label at simulation time. This is the highest-leverage feature of the Fitter: a single save turns labeled data into routed simulation logic.

Why lognormal uses output-space parameters

PocketStats uses output-space mean and std for the lognormal — these are the mean and standard deviation of the values themselves, in their natural units, not the mean and std of log(values).

This matters because most reference material on lognormal uses log-space parameters (often called μ and σ). The Fitter's output is intentionally easier to read: if you fit monthly revenue and the Fitter returns mean=42100, std=8400, those are dollars.

p-values with large datasets

A failed KS test (p < 0.05) does not automatically mean the fit is bad. With tens of thousands of rows, even a very good fit will fail the KS test because it's powerful enough to detect tiny deviations.

When you see a small p-value with a clearly good histogram and Q-Q plot, trust the visual evidence. The Fitter shows the p-value as a diagnostic, not a verdict.

What to do when nothing fits well

If every candidate has a small p-value and the Q-Q plots all curve away from the diagonal, your data may not be from a single distribution. Common situations:

  • Mixture — the data is two populations stacked (e.g. weekday vs. weekend traffic). Use the Fill by option with a grouping column to fit each population separately.
  • Zero-inflation — many exact zeros plus a continuous tail. The Fitter offers a compound bernoulli × <fitted continuous> fit automatically.
  • Truncation — data was filtered before you got it. Use the Force lower bound or Force upper bound controls in the Detail tab to tell the Fitter about the cutoff.