raw_outlier_policy#

Back to L1 | Browse all axes | Browse all options

Axis raw_outlier_policy on sub-layer l1_c (layer l1).

Sub-layer#

l1_c

Axis metadata#

  • Default: 'preserve_raw_outliers'

  • Sweepable: False

  • Status: operational

Operational status summary#

  • Operational: 6 option(s)

  • Future: 0 option(s)

Options#

preserve_raw_outliers – operational#

Pass raw outliers through to L2.C.

Default; relies on L2.C McCracken-Ng IQR detection and the configured outlier_action to handle extreme values. See also: L2 outlier_policy / outlier_action (same surface, different stage: raw vs post-tcode).

When to use

Default; the canonical workflow.

References

  • macroforecast design Part 1, L1: ‘data definition is the recipe layer that pins source, target, geography, and horizon – everything downstream branches off these choices.’

Related options: winsorize_raw, iqr_clip_raw, mad_clip_raw, zscore_clip_raw, set_raw_outliers_to_missing

Last reviewed 2026-05-05 by macroforecast author.

winsorize_raw – operational#

Winsorise raw series at quantile cutpoints (default p1 / p99).

Caps extreme values at the specified quantile before t-coding. Preserves observation count but compresses tails. Configured via leaf_config.winsorize_quantiles (default [0.01, 0.99]). Compare: L2 outlier_policy=winsorize operates on the post-tcode panel.

When to use

Heavy-tailed financial / macro series where extreme observations would dominate downstream estimates.

References

  • macroforecast design Part 1, L1: ‘data definition is the recipe layer that pins source, target, geography, and horizon – everything downstream branches off these choices.’

Related options: preserve_raw_outliers, iqr_clip_raw

Parameters

name

type

default

constraint

description

winsorize_quantiles

list[float, float]

'[0.01, 0.99]'

0 <= low < high <= 1; both elements required.

Lower and upper quantile clip thresholds. Defaults to symmetric 1%/99% winsorization. Values outside [low, high] quantile bounds are clipped to the bound value.

Last reviewed 2026-05-05 by macroforecast author.

iqr_clip_raw – operational#

Clip raw observations beyond k×IQR thresholds.

Clips values outside Q1 - k·IQR, Q3 + k·IQR (k default 10.0, matching McCracken-Ng). Robust to non-Gaussian distributions. Configured via leaf_config.outlier_iqr_threshold. Compare: L2 outlier_policy=mccracken_ng_iqr uses the same k but on the post-tcode panel.

When to use

Robust outlier handling on non-normal series.

References

  • macroforecast design Part 1, L1: ‘data definition is the recipe layer that pins source, target, geography, and horizon – everything downstream branches off these choices.’

Related options: winsorize_raw, mad_clip_raw, zscore_clip_raw

Parameters

name

type

default

constraint

description

outlier_iqr_threshold

float

'10.0'

>0

IQR multiplier above which raw observations are clipped. McCracken-Ng default is 10.0. Observations satisfying

Last reviewed 2026-05-05 by macroforecast author.

mad_clip_raw – operational#

Clip raw observations beyond k×MAD thresholds.

Median Absolute Deviation -based clipping; even more robust than IQR. Default k = 3 maps to roughly 3σ for normal data.

When to use

Highly non-Gaussian series with sparse outliers.

References

  • macroforecast design Part 1, L1: ‘data definition is the recipe layer that pins source, target, geography, and horizon – everything downstream branches off these choices.’

Related options: iqr_clip_raw, zscore_clip_raw

Last reviewed 2026-05-05 by macroforecast author.

zscore_clip_raw – operational#

Clip raw observations beyond k standard deviations.

Standard z-score rule (typically k = 3). Cheapest option but assumes approximate normality. Configured via leaf_config.zscore_threshold_value.

When to use

Approximately Gaussian series; quick baseline.

When NOT to use

Heavy-tailed series – use iqr_clip_raw or mad_clip_raw.

References

  • macroforecast design Part 1, L1: ‘data definition is the recipe layer that pins source, target, geography, and horizon – everything downstream branches off these choices.’

Related options: iqr_clip_raw, mad_clip_raw

Parameters

name

type

default

constraint

description

zscore_threshold_value

float

'3.0'

>0

Z-score threshold; observations with

Last reviewed 2026-05-05 by macroforecast author.

set_raw_outliers_to_missing – operational#

Set raw outliers to NaN and defer to L2.D imputation.

Replaces flagged outliers with NaN. The L2.D imputation method then fills the resulting gaps; preserves observation count for downstream stages.

When to use

Pipelines where outliers should be re-imputed coherently with other missing data.

References

  • macroforecast design Part 1, L1: ‘data definition is the recipe layer that pins source, target, geography, and horizon – everything downstream branches off these choices.’

Related options: preserve_raw_outliers, winsorize_raw

Last reviewed 2026-05-05 by macroforecast author.