wealthschemaresourcesarticlesLife-insurance illustrations under AG 49-A — what the engine has to enforce
Article

Life-insurance illustrations under AG 49-A — what the engine has to enforce

Cap, floor, multiplier, BIA bonus — the regulation is specific and the engine has to be specific too.

WealthSchema StaffInsurance & risk modelingMay 8, 20263 min read

Indexed universal life (IUL) illustrations have been a recurring source of regulatory friction since they emerged in the late 1990s. Carriers competing on illustrated policy values produced increasingly aggressive assumptions that did not reflect realistic long-run outcomes. The NAIC responded in 2015 with Actuarial Guideline 49 (AG 49), revised in 2020 (AG 49-A), and the result is a framework that constrains what carriers can illustrate. The framework has more teeth than most software acknowledges.

This article is the working note for engineering teams whose product validates, generates, or compares IUL illustrations. The AG 49-A constraints, the carrier-side data inputs, and the validation gates a compliant engine has to enforce.

What AG 49-A actually constrains

AG 49 was originally aimed at the illustrated rate carriers could use for the indexed account. Carriers had been selecting illustration rates that reflected the upside of a cap-and-floor strategy without recognizing the reality that not every year's index return reaches the cap. AG 49 limited the illustrated rate to a benchmark indexed credited rate (BIA: Benchmark Index Account) computed by a specific methodology.

AG 49-A (2020) extended the constraint to the cap multiplier and persistency bonuses, which carriers had used to circumvent the original AG 49 cap. The current rule set:

 ElementAG 49-A constraint
Maximum illustrated rateBounded by the BIA — a 25-year geometric mean of the underlying index with the contract's cap, floor, and participation rate applied
MultipliersIllustrated impact of multipliers must be self-funded by the policy charges that underlie them — no 'free' multiplier illustration
Persistency bonusesSame self-funding requirement — bonuses can only be illustrated to the extent they're funded by policy charges
Loan ratesIllustrated loan arbitrage is constrained — the illustrated loan rate must be the contract's actual loan rate, not a marketing rate
Indexed loan illustrated rateCannot exceed the BIA-bounded illustrated rate plus 50 bps for fixed-loan carriers

The constraints are arithmetic but not trivial. A compliance engine has to compute the BIA from the contract's actual cap, floor, and participation rate, applied to a 25-year window of the underlying index's actual returns. This is more than a single field — it's a calculation requiring the index's 25-year history.

The BIA calculation

The benchmark indexed credited rate is the AG 49-A core. The procedure:

  1. Step 1
    Pull 25 years of underlying index history
    S&P 500 (most common), Russell 1000, Nasdaq-100, or other contract-specified index. Use closing values at the contract's anniversary date.
  2. Step 2
    Compute the year-by-year credited rate
    Per year: indexed return = max(floor, min(cap, raw_return × participation_rate)). Apply contract terms exactly.
  3. Step 3
    Compute the geometric mean
    GM = (Π (1 + credited_rate_i))^(1/25) − 1. This is the BIA, which is the maximum illustrated rate the carrier can use.
  4. Step 4
    Apply additional constraints
    Multipliers and bonuses must be net of their funding charges — show the gross multiplier impact and the gross funding cost.
  5. Step 5
    Validate against carrier's illustrated rate
    If the illustration uses a higher rate than the BIA, the illustration is non-compliant. Engine has to flag.

The 25-year window updates each year — not every year's BIA is the same. Carriers refresh BIA calculations periodically; engines validating illustrations have to use the BIA effective at the illustration date.

What carrier data the engine needs

A compliance engine needs structured data from the carrier or from the illustration software vendor:

Per-illustration data the engine needs

  • Underlying index identifier and historical values (25 years minimum)
  • Contract cap, floor, participation rate — per indexed account in the contract
  • Multipliers and persistency bonuses with their schedules and the corresponding funding charges
  • Indexed loan availability, loan rate, and loan-balance treatment
  • Policy charges (cost of insurance, M&E, riders, surrender charges)
  • Insured age, gender, smoker status, rating — drives mortality charges
  • Premium pattern (single, level, indexed, target, etc.)
  • Death benefit option (level, increasing, return of premium)

Carriers vary in how much of this they expose to third parties. Some publish their illustration software's data files publicly; some require commercial licensing; some keep it proprietary. The engineering ramp-up for an engine that handles N carriers is roughly linear in N — there is no universal IUL data format.

The validation gates a compliant engine has to run

Beyond the BIA constraint, AG 49-A requires several explicit numeric and disclosure validations:

  1. Gate 1
    Illustrated rate ≤ BIA
    The illustration's assumed annual indexed credited rate must not exceed the BIA. A carrier-supplied rate above BIA is non-compliant.
  2. Gate 2
    Self-funding of multipliers
    If the illustration includes a multiplier (e.g., 110% of indexed return), the multiplier must be funded by an explicit policy charge. The illustrated benefit minus the illustrated charge must net to zero on average.
  3. Gate 3
    Self-funding of bonuses
    Same logic for persistency bonuses. Free bonuses (no corresponding charge) are not illustratable.
  4. Gate 4
    Loan arbitrage cap
    Illustrated indexed loan rate cannot exceed BIA + 50 bps for fixed-loan carriers.
  5. Gate 5
    Disclosure language
    Required statements: that illustrated values are not guaranteed, that actual values may be lower, that the BIA is a benchmark not a forecast. Engine should validate disclosure presence.
  6. Gate 6
    Side-by-side guaranteed column
    AG 49-A requires illustrations to show guaranteed values alongside non-guaranteed. Engine should validate the guaranteed column is present and accurate.

Each gate is a yes/no validation. An illustration that fails any of them is non-compliant. A compliance engine should produce a per-gate output with citation to the AG 49-A section that's violated.

What goes wrong in practice

We've audited illustration validation tools across several carriers and intermediaries. The recurring issues:

Stale BIA. The engine uses a BIA computed at integration time and doesn't update as the 25-year window rolls forward. Multi-year-old BIAs are wrong by enough to flag legitimate illustrations as non-compliant or pass non-compliant ones as legitimate.

Wrong index history. The engine pulls the index from a generic data source rather than the specific index the contract references. Some carriers use proprietary indexes (volatility-controlled, momentum-based) whose history isn't on Bloomberg.

Multiplier modeling. The engine treats the multiplier as a static factor rather than as a multiplier funded by a charge. Self-funding validation requires modeling both sides; engines that show only the multiplier without the charge produce illustrations that look better than they are.

Missing carrier-specific overrides. Some carriers have AG 49-A-compliant variants of their products with explicit guaranteed-value floors. The engine has to know which variant is being illustrated and apply the right BIA rules.

What this means for synthetic test data

A synthetic dataset for IUL illustration testing has to include:

  • 25 years of underlying index history (S&P 500, Russell 1000, others as needed)
  • Contract specifications spanning the cap × floor × participation rate space
  • Multiplier and bonus structures with corresponding charges
  • Indexed loan availability and loan rate variations
  • Insured profiles spanning age, gender, smoker, rating
  • Both AG 49-A-compliant and non-compliant illustration examples (so the engine can be tested on both)

The non-compliant examples are important — they're how engineers know the engine catches violations. A test corpus of only-compliant illustrations doesn't exercise the violation-detection code path that's the actual job of the validation engine.

Key takeaways

  • AG 49-A constrains illustrated rates, multipliers, bonuses, and loan arbitrage on IUL products. The constraints are arithmetic and engines have to compute them from carrier-specific contract terms.
  • The BIA (benchmark indexed credited rate) is a 25-year geometric mean of the underlying index with the contract's cap, floor, and participation rate applied. It updates yearly as the window rolls.
  • Multipliers and persistency bonuses must be self-funded by corresponding charges. 'Free' multipliers cannot be illustrated.
  • Six explicit validation gates: illustrated rate vs BIA, multiplier self-funding, bonus self-funding, loan arbitrage cap, disclosure language, side-by-side guaranteed column.
  • Carriers vary in how much illustration data they expose. Engines covering N carriers have N data integrations.
  • Test data needs both compliant and non-compliant illustrations. Validation engines that have only seen compliant data don't exercise their violation-detection paths.

Frequently asked questions

How does AG 49-A interact with state-specific illustration regulations?+
AG 49-A is an NAIC actuarial guideline; states adopt it (or modified forms) as part of their illustration regulations. Most states adopted AG 49-A by 2022 with some lag. Engines should track state-by-state adoption and any state-specific modifications. New York's Reg 187 has additional requirements layered on AG 49-A; California has specific disclosure requirements. The base AG 49-A engine plus state overlays is the architecture.
Are there parallel constraints for variable universal life or whole-life illustrations?+
Yes — Model Regulation 580 (NAIC's Life Insurance Illustrations Model Regulation) governs all illustrations. AG 49-A is the IUL-specific layer. Whole life and traditional UL have their own illustration assumptions (declared rates, dividend interest rates) constrained by Model Reg 580 and by carrier internal actuarial-soundness review. Engines that handle multiple product types need separate compliance modules per type.
What about the new Buffer Annuity / RILA illustrations?+
Registered Index-Linked Annuities are subject to FINRA / SEC oversight rather than NAIC, with a different illustration regime (FINRA Reg Notice 22-08 and the SEC's June 2024 final rule on RILA registration). The compliance posture is different and the engine has to know which regulatory regime applies — most carriers offer both IUL and RILA, sometimes alongside each other in client portfolios. A unified illustration engine has to handle both.
How important is per-carrier integration vs a generic engine?+
Carrier-specific. The BIA calculation is contract-specific, the multiplier mechanics are carrier-specific, and the indexed-loan terms are contract-specific. A generic engine that doesn't integrate with carrier data can do high-level compliance checks but can't validate the BIA against the actual contract terms. Most production validation engines we've seen are hybrid: generic compliance logic plus carrier-specific data integrations for the half-dozen carriers that produce 80% of policies.