Pension (Governmental) Library Update 2026.04 – Unit Credit Methods, 415(b) Maximum Benefit, Updated Gain/Loss Reconciliation, and Performance Improvements

This release introduces two major new features for governmental pension plans: Unit Credit accrual methods (PUC and TUC) and detailed IRC 415(b) maximum benefit limit logic. It also delivers significant improvements to the Gain/(Loss) reconciliation framework including single-model support, an updated workbook, and optional automation. Additional enhancements expand accrual period flexibility, final average earnings configurability, and alternate salary resilience. Performance improvements target expected benefit payment streams and multi-year projection runtimes.

New Features

Projected Unit Credit (PUC) and Traditional Unit Credit (TUC) Accrual Methods

The governmental pension library model now supports PUC and TUC accrual methods, accounting for governmental-specific assumptions and benefit structures including modified cash refunds and other governmental plan options. This is a major new funding method addition, enabling actuaries to produce Unit Credit based valuations directly within the governmental pension library.

415(b) Maximum Benefit Logic for Governmental Plans

Detailed IRC Section 415(b) Maximum Benefit Limit logic and controlling parameters are now available for governmental plans. This ensures that projected and valued benefits do not exceed statutory maximum benefit thresholds for plan participants.

New configuration options include:

  • Age adjustment basis for the 415(b) limit
  • Payment form adjustment basis for the 415(b) limit
  • Rounding and increase in projected Dollar limits
  • Adjustments for form of payment using 3 proscribed Actuarial Equivalence basis

Enhancements / Changes

Gain / (Loss) Reconciliation in Same Model As Liability Calculation

Gain/(Loss) liability products can now run within the same model as the liability calculator, eliminating the need for a separate model. In addition, the library model:

  • Added compatibility with models using 2 separate benefit definition tables.
  • The necessary entries to reconcile liability G/L are captured with projections run for 0 months.
  • Added a projection template demonstrating Gain/(Loss) reconciliation. The template excludes Company variables tagged “Global” and is the recommended approach for generating Gain/(Loss) reconciliation projections.

Updated Gain / (Loss) Reconciliation Workbook and Automation (Beta)

The Gain/(Loss) workbook and supporting automation have been updated to correspond to the Gain/(Loss) liability product in addition to other enhancements. The workbook is in Beta status and is located in Slope Pension & OPEB -> Gain (Loss) -> Beta. For access to the automation, contact support@slopesoftware.com. Other enhancements:

  • Added a central table mapping all workbook visualization items back to their corresponding model product variable names.
  • Participant identifiers are now output from the liability projection as product variables rather than read from model point inputs, allowing concatenated identifiers where needed.
  • An automation tool is available on request that accepts 3 pension liability projections as inputs and populates the relevant data tables for a separate Gain/(Loss) reconciliation projection.

Added Entry Age Accrual Period Option “From first funding age to last age with a future benefit”

Added a new accrual period option “From first funding age to last age with a future benefit”. When selected, Valuation Pay is reported specific to the retirement decrement. This option is configured in the Funding Span column of the Entry Age Parameters table.

Modified Final Average Earnings to Support Accrual Basis

Added an accrual basis column to the Plan Structure Final Average Earnings table, consistent with the existing cash balance feature approach. Allows Final Average Earnings plans to define a complex accrual basis rather than being restricted to a compensation basis.

Enhanced Alternate Salary Details to Fallback to Valuation Assumptions

Blank entries in the salary scale column of the alternate salary table now default to rates from the Valuation Assumptions table instead of applying 0%.

Performance Improvements

  • Resolved performance bottlenecks in expected benefit payment stream computations for large governmental pension plans.
  • Introduced control variables across several multi-year projection product variables to suppress unnecessary 2-dimensional array calculations, improving runtime for all multi-year projections with new entrants.

Fixes

Expected Benefit Payment Streams

  • Fixed lump sum benefit payment stream variables to apply separate mortality assumptions for disabled vs. non-disabled participants during benefit deferral periods, correcting inaccurate PVFB calculations for plans with deferred lump sum payment forms.
  • Fixed product variable Retirement Time Latest to include Terminated Vested records at the valuation date, ensuring consistency across active and terminated-vested participant populations.

Compensation

Aligned logic of product variable Alternate Salary Compensation Annualization Factor Year of Hire with the standard compensation annualization methodology to prevent incorrect salary projections for mid-year hires under alternate salary structures.

Life Insurance COLA Provisions

Corrected COLA provisions in product variables Life Insurance – Stream of Unit Benefit Healthy and Life Insurance – Stream of Unit Benefit Disabled to properly reflect cost of living adjustments in projected liability calculations for participants receiving life insurance benefits.

April 2026: Model Documentation, Seeded Random Numbers & Rolling Value Enhancements

April was a packed month! The big headline is the arrival of Model Documentation — a long-requested feature that gives model developers a dedicated space to document their work. We also shipped some meaningful formula-level additions, improved the model comparison experience, and squashed a solid round of bugs. Read on for the full rundown.

🆕 New Features

Model Documentation

Summary: Models now have a dedicated documentation page where developers can capture notes, context, and supporting files alongside their work.

Each model now includes a Model Documentation page accessible from the model details and the model context menu. The page features a rich text editor for structured documentation, the ability to attach files from the File Manager, and a tracked timestamp showing who last updated the documentation and when. Documentation carries over when copying a model. Documentation on Production models is read-only to preserve auditability. See an example of the power of these capabilities on our latest published Pension library model.

Seeded Random Number Generation

Summary: Models can now produce fully reproducible results by setting an optional seed value on the Random Number Generator formula.

A new optional Seed Value setting has been added to the Random Number Generator formula. When a consistent seed is provided, the same set of random numbers will be generated consistently across projection runs, making it much easier to validate and audit stochastic models. When no seed is set, behavior is unchanged. Note that in order to generate a unique seed per scenario, per time, or per model point number, those variables need to be included in the Seed formula.

🔧 Enhancements

Ranked Subset Support for Rolling Value

Summary: The Rolling Value formula now supports ranked subsets — Highest N or Lowest N — giving actuaries more precise control over rolling calculations.

The Rolling Value formula has been expanded with two new capabilities. First, the Frequency parameter is now a formula builder input (rather than a fixed dropdown), allowing for dynamic frequency expressions. Second, a new Subset option lets you filter the rolling window to only the Highest N or Lowest N values, with control over whether those values must be contiguous or can be selected freely from across the window.

Projections List Pagination

The All Projections and My Projections list views are now paginated, reducing load times — especially for customers with a large number of projections. Pagination applies when browsing both the top-level list and individual virtual folders.

Delete Individual Array Values When Comparing Models

When comparing models, you can now merge individual or multiple static array value deletions from a source model into the target — giving you finer-grained control during the merge process.

Improved Yield Curve Point Matching in Model Compare

Previously, if a yield curve point existed in both models with the same duration but different names, the comparison incorrectly flagged it as an addition and deletion. The comparison now matches yield curve points by duration, and name differences are shown as a standard mergeable diff.

Smarter Nested Table Handling When Copying Models

When copying a model with a nested table reference to an older version — and the latest version of that table isn’t used elsewhere — the copy will now correctly include all referenced versions, not just the latest.

🐛 Fixes

  • Projection file references updated correctly — Switching a model point file from one format to another (e.g., XLSX to CSV) now takes effect on the next projection run as expected.
  • Table lookup errors resolved — A specific combination of nested and non-nested table references was causing an incorrect table to be cached, leading to lookup failures (which caused errors). This has been corrected.
  • Scenario table versioning fixed — When a projection uses multiple scenario tables via nesting, all tables now version correctly upon update, rather than only the first one being versioned.
  • Scenario files can now be deleted after creation — Recently generated scenario table files were not being removed from the File Manager upon deletion. This has been resolved.
  • Excel model point file parsing corrected — Certain Excel MPFs with stripped dimension tags were not being processed during projections. These files now parse correctly.
  • Model copy reliability improved — An issue causing model copies to fail when saving files was identified and resolved.
  • HPM projection improved stability — A rare condition where HPM workers would stall, causing a projection to hang has been addressed.
  • Scenario log error messages no longer cut off — Full error messages are now displayed in Cores scenario logs.
  • Debug dropdown alignment corrected — A minor visual misalignment between the array dropdown and array symbol box in Debug view has been fixed.

API Fixes

  • Data table indexReadMethod now validated — The API now returns a 400 error when an invalid indexReadMethod value (anything other than 1 or 2) is provided in data table requests, rather than silently creating a malformed table.
  • Scenario table ID returned correctly — The GET /api/v1/DataTables/Data endpoint now returns the correct scenario table ID instead of null for data table columns backed by a scenario table.