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.

Pension (Governmental) Library Update 2025.01: Advanced COLA limits, Pension Trace Life New Entrant workbook, Compensation Limit Enhancement and more

New

Advanced COLA Limits

A new product variable, “06 Advanced COLA – Annual Dollar Amount”  has been created. This product variable allows the development of Cost of Living Adjustment formulas that are more complex than a simple rate increase. 

An example would be a limit of cumulative COLA to less than 2.5 times the original benefit amount. Other product variables that are compatible with developing these formulas have been assigned the tag “Advanced COLA”. A formula is defined per benefit payment form. 

Control of this feature is set in the table structure “Benefit Definition – Payment Form” in the column “Advanced COLA” in which a specific benefit formula to which to apply the Advanced COLA can be selected.

“Pension Trace Life New Entrant” Workbook

The workbook has been created to allow review of calculation details for new entrants in a multiyear projection.

Enhancements

Additional granularity to the configuration of compensation limits 

The table structure “IRS and Social Security Limits” is used to configure future and historical compensation limits. Previously this table appeared as a top level configured table for projections. This table has now been nested in the table structure “Valuation Inputs – Plan Definition”. Different tables can now be assigned to different Plan Populations.

“Multi-Year Projection” Workbook has been reconfigured 

The workbook has been enhanced to provide additional information around annual compensation and provide service cost rates.

New Entrant Service Cost

The following product variables have been created to allow review of the underlying calculations for new entrants in a multiyear projection

  1. “Service Cost Rate”
  2. “Service Cost PV of Future Comp at Entry”
  3. “Service Cost PV of Benefits at Entry”

Changes and Fixes

  • Product Variables that began with the prefix “ZZ” or “ZZZ” have been renamed with the prefix changed to “Multi Year”. The variables have also been tagged “MultiYear”.
  • The following product variables have been modified to fix potential conflicts with certain deferral periods: “Annuity Survival Retiree Healthy”, “Annuity Survival Retiree Disabled” and “Annuity Survival Beneficiary”.
  • The product variable “Service Years Rounded Attained Age Less Hire Age” has been modified to make the calculations compatible with multiyear projections with new entrants.
  • The product variable “Alternate Salary Compensation Valuation Date” has been modified and the variable “Alternate Salary Compensation Valuation Date 00” has been created to make the underlying calculations compatible with multiyear projections with new entrants.
  • The product variable “Age Beneficiary (unrounded) preliminary” has been modified to make the calculations compatible with multiyear projections with new entrants.

Slope Pension (Governmental) Library 2024.12: Multiyear Projections w/ New Entrant Capabilities, PVAB and Service Cost discounting, and more.

NEW

Multiyear Projections with New Entrant Capabilities

Multiyear projections now have the ability to accept a new entrant profile and a parameterized policy for future new employees using Dynamic Sales. Learn more here.

Present Value of Accrued Benefits and Service Cost discounted using a yield curve 

Projections now have the ability to capture the Present Value of Accrued Benefits as well as the Service Cost (Traditional Unit Credit Accrual) using a full yield curve rather than a single discount rate. Checking the ‘Calculate PV of Accrued Benefits’ box on the Liability Calculation Controls (table) will achieve this.

Enhancements

Details of Calculation of Annuity Payment Form Factors is now available in the Active Trace Life Workbook  

The details of payment form factors for annuity forms of payment are now detailed and displayed in the active trace life workbook. 

Alternate model point field for hypothetical account balance in a Cash Balance plan  

A field is now provided on table structure “Plan Structure – Cash Balance or Career Average” to allow a user to pass in an alternate model point field to use as the account balance as of the valuation date.

Ability to provide percentages for the retiree / beneficiary / joint in Joint and Survivor Annuities from alternate model point fields for records in payment at the projection start date 

3 new columns have been added in data table structure ‘Retiree Annuity Form Mapping” to allow users to pass in the name of a Model Point Field that contains the percentages necessary to calculate a joint annuity.

Sensitivity Runs for Discount Rates and Salary Scales

A table entry has been provided to allow for different scenarios in the same projection to apply loads to discount rate and salary scale. Standard pension workbooks have been set to filter to the first scenario. A filter has been provided on these workbooks to toggle to different scenarios. Learn more here.

Vested Terminated Records that use Participant Data for Beneficiary Age now reflect that information for Joint and Survivor Benefit Definitions

In projections where the Data Table “Participant Age and Date Logic” have an entry other than “Use Assumptions” in the column “Vested Terminated Beneficiary Age at Valuation”, the marriage assumption will be set to either 0 or 1 for a Vested Terminated record, based on whether the provided field has an entry. This will affect the calculation of Joint and Survivor Annuities as well as death benefits. 

Active Trace Life and Pension Liabilities by Definition Workbooks provide Rate of Pay at Valuation 

The workbooks for Active Trace Lives and Summary of Pension Liabilities have been modified to provide an additional measurement of compensation. The new field is called “Rate of Pay at Valuation Date”. This field will reflect the reported and annualized compensation for all active employee records at the projection start date regardless if they are at or past their Ultimate Retirement Age.

Trace Life Dashboard now shows details on payment form factor calculations for Life Annuities.

Change

Update to the Projection Limit (time) Variable

Projection Limit (time) will now stop the projection calculations at the later of the time the participant or his/her beneficiary achieves age 115. Previously, projection calculations were terminated at the earlier of the time the participant or spouse achieves age 115.

Fixes

  • Resolved issue with logic in Retiree Deferred Lump Sum calculation.
  • The calculation of Present Value of Future Benefits and Entry Age Service Cost will now permit a negative result. These were previously limited to never be less than 0.

July 2024: Model Documentation Export, Multi-Factor Authentication, New API Endpoints & Use Annual Effective Rate for Short-Term Interpolation on Scenario Tables,

New

Export Variable Properties and Formulas for Model Documentation

Users can now extract a list of their variables with the properties, tags, documentation, formula, last modified date and user to provide model documentation for audits, regulators, internal review and troubleshooting. Learn more here.

This is an example of the Product Variables tab on the export.
The ‘Export Documentation’ button is found in the ‘Go To’ Menu of the Model Development Module.

Multi-Factor Authentication

Slope users can now setup multi-factor authentication (MFA) without having to be on Single Sign On. To configure MFA, click the user menu in the top right of the application > Administration > Privacy and Security tab.

Clicking the Set Up button found on the Privacy and Security tab will walk you through enabling MFA.

New API Endpoints

  • Copy Projection Endpoint: Allows users to copy an existing projection ID instead of having to create a projection template.
  • Get Decrement Table Endpoint: Allows users to get the decrement tables on their model including the ID, name, type, improvement year and select period frequency.

Read more about the available Slope API Endpoints here.

Enhancements

Use Annual Effective Rate for Short-Term Interpolation on Scenario Tables

Users can now specify how the short-term spot rates (durations 0-5 months) on scenario tables are calculated. In the past, the short term interpolation method was always from zero. Now users can select to interpolate from zero or use the annual effective rate.

All existing scenario tables will remain set to ‘from zero’ but newly created tables will have ‘Use annual effective rate’ selected by default.

NOTE: This parameter will be added to the Post and Patch Scenario Table endpoints on the API in the future. In the interim, the API will default to using the annual effective rate for the short term interpolation method.

Additional Enhancements

  • A model copy performance improvement was made to reduce the time users need to wait for their model to finish copying.
  • Only the headers and elements with errors on the validation details screen will show in red to prevent users from thinking there are errors on objects that do not have any errors.
  • The model point default value will be used when the column does not exist in the model point file and the field is not required on the model point file definition.

Fixes

  • API users will no longer get a 500 error when uploading the same model point filter on two products at once.
  • Resolved a ‘No data table found’ error on some projections with long running static products.
  • Resolved a ‘Failed to start’ error on projections when the scenario structure does not have any yield curve points on it.
  • Resolved a model copy issue that was resulting in the copy hanging when projection templates were included.
  • Data table headers are no longer case sensitive on import.
  • Extra columns in a file are again being ignored when uploading a data table.

June 2024: High Performance Mode for Projections with New Business, API Updates and Reporting Enhancements

New

High Performance Mode Available for Projections with New Business

High Performance Mode (HPM) now supports projections that include New Business so that users can dynamically issue new sales (model points) in their projection when running in HPM. For more information on High Performance Mode and which projections are supported, visit our support article here.

Users will now be able to select a Sales Allocation on their portfolio when running in High Performance Mode.

Enhancements

Variable List Now Shows Error Count

Users will now see an error counter at the top of the variable list to indicate the number of variables that have errors on them.

API Update: GET Projection Endpoint Additions

API users will now be able to get the following portfolio and product information from the GET Projections endpoint:

API Update: GET Data Tables/List Endpoint

API users will now be able to get a list of data tables either for a specific table structure or model ID. Learn more on our API documentation page.

Reporting: Repeat Row Labels

Users can now format pivot tables with multiple pivot rows to repeat row labels within their workbook element.

Found under the Element Format (brush) icon.
This screenshot shows a pivot table without row labels repeated.
This screenshot shows a pivot table with the row labels repeated.

Reporting: Placeholder Text in Control Elements

Users can now customize the placeholder text for any input-based control elements (List Values, Text Input, Number Input, Date, and Date range) to provide context about the expected input.

Select your element > Element Format icon (brush) > General and update the Placeholder field

Merge Differences in Tags on Variables

The model governance module will now show tag differences between two variables (with the same name) and allow the user to merge the tag to the target variable.

Fixes

  • Debug view is now updating the formula with a different formula per array value for the second dimension of 2 dimensional arrays.
  • Reduced Failed to Start Errors resulting from AWS request denials.
  • Improved run log and debug tab loading performance.
  • Again showing ‘Out of Memory’ message when a projection runs out of memory while finishing the inserting of results.
  • Model point filters will apply the correct filter field when duplicating a projection and filtering on a field that is not the first field.
  • Variables only referenced by a sales allocation variable will again display in the output.
  • Now showing the correct result for projections run in Cores when forward projecting a company array variable with a Single Value (formula) aggregate that relies on a two dimensional aggregate variable.

May 2024: Switch a Model on a Projection and Mass Merge Decrement Tables

New

Re-Run a Projection with a Different Model

You can now re-run a projection using a new model. This is often done to try and reproduce or compare results after making updates to a model copy. When switching a model, Slope will attempt to map the settings, scenario table, variable scoping controls, portfolios, sales allocations, investment strategies, products and data tables using the name. Learn more here.

Enhancements

Mass Merge Decrement Tables

The governance module now allows users to select multiple or all decrement tables from one model and merge them into another mode.

Miscellaneous

  • The target model in the governance module will now show the full name upon hover.

Fixes

  • Assumption sets will again allow the user to view and change the table selected in the assumption set.
  • Debug view will no longer erroneously show ‘No Result Available’ when a result is available.
  • Corrected an issue in which an error message was not providing the correct error source for a Calculated Range where the start and end values were matching.
  • Debug view is now showing products that are not directly configured on a portfolio (e.g. investment products)

April 2024: Performance Improvements, Two-Dimensional Array Enhancement and Fixes

Enhancements

Performance Improvements

  • A behind the scenes update to data tables was made to improve performance loading data tables, copying models with data tables and running projections with data tables.
  • Product Aggregate performance improvements have been made to High Performance Mode (HPM) projections to help further reduce runtimes.
  • Improved performance of Core projections with very large arrays.

Two-Dimensional Array Enhancement

Two-dimensional arrays can now be created with a product level data table array and a product output grouping array.

Fixes

  • The ‘Always Calculate’ setting is now staying enabled when the ‘Global’ variable setting is enabled.
  • Switching the static array used in a two-dimensional array is now updating the array value tabs for a formula using the array and set to ‘formula per array value’.
  • When a variable directly references a two-dimensional array there will no longer be an erroneous ‘Invalid Array Aggregation Type’ error message.
  • Using a product data table array in a two-dimensional array will no longer result in a projection error.
  • The Governance module is now detecting different dimensions for two-dimensional arrays.
  • When the result of a complex array lookup cannot be determined in the debug view, we are again showing ‘??????’.

March 2024: Two-Dimensional Arrays, Portfolio Level Calculated Range Array Indexes and Validation Updates

New Features

Two-Dimensional Arrays

Two-dimensional arrays allow users to reference values from two different arrays within a single formula. This allows for the use of a single formula to calculate complex logic that varies by two different dimensions. Two-dimensional arrays help reduce the need for duplicated model logic and maintenance.

To learn how to setup and utilize two-dimensional arrays in your model, please review our support documentation here.

Portfolio Level Calculated Range Array Indexes

Calculated Range Array indexes can now be set using portfolio level variables to allow for more flexibility and minimize the need for extra array variables at the model point level.

A new ‘Portfolio’ option is available when creating and editing arrays. Selecting ‘Portfolio’ allows the user to set a portfolio variable for the indexes or index step.

Enhancements

Validation Updates

The following validation has been added in order to help our customers build and maintain more accurate models. Validation is added to prevent and alert our customers to invalid setups or configuration that could give incorrect or unexpected results.

  • Variables that contain the ‘Projection Time Index’ system variable must have the ‘Force Recalc’ setting enabled.
  • Cross level variables contained in a formula cannot reference different arrays (e.g. Product Variable formula references another product variable that uses one array as well as another portfolio variable that uses a different array).
  • A standard variable cannot reference a post projection variable at another level.
  • A non-time indexed variable cannot reference a time-indexed variable at another level.

Fixes

  • Projection list loading times have been improved
  • When uploading a new version of a file that is being used by an allocation, an error will no longer display.
  • Output is now being written when an investment strategy errors after trying to sell more assets than are available.
  • Now showing a descriptive error response on the Post Reports API endpoint when a workbook or element is not found

November 2023: Merge New Investment Strategies & Asset Allocations, In-App Support Improvement and Fixes

New

Merge New Investment Strategies and Asset Allocations

Slope will now show Asset Allocation and Investment Strategy adds, changes and deletes and will allow clients to merge new Asset Allocations and Investment Strategies from one model to another. This is done using Compare & Merge Models found in the Governance Module.

This screenshot shows how new Investment Strategies are shown in green and can be merged from one model to another.

Surfacing Relevant Support Documentation on Model Development Pages

When you are in the Models module and click the Resource Center (question mark found in the lower right corner of the application) and select the ‘Help Center’ section, you will now find relevant support documentation surfaced. In the next couple of weeks, you will see relevant support content surfaced for all pages of the support application.

Enhancements

Creating a New Table Structure Now Loads the Data Table on Screen

Now when users create a new table structure, give it a name and click save, they will see the table structure loaded on screen so they can immediately beginning editing and adding columns.

Fixes

  • The default value rows when a data table is used as a data table array are now being excluded so that the debug view shows the expected result.
  • Resolved an issue in which the second instance of a dynamic product was being processed statically.
  • Terminated model points are now being filtered from target value match and pro rata investment strategy rules.
  • Filtered pro-rata investment strategies will no longer fail when there is a backup sales step.
  • The copy model page should now consistently load without requiring a page refresh.
  • Images from support documentation are now loading properly within the Resource Center found in the lower right corner of the application.
  • Validation will no longer incorrectly force variables referencing non-time indexed variables to be set as time-indexed.
  • High Performance Mode post projection variables will no longer fail due to an incorrect missng array value.

September 2023: Mass Merge Product, Portfolio and Company Variables and Input Tables on Workbooks

New

Mass Merge Product, Portfolio and Company Variables

The Governance module now allows users to merge multiple variables at once so that each variable does not have to be individually merged one at a time. Users can merge select or all variables at the same level (product, portfolio or company). All dependent variables included in the mass merge will be automatically mapped for a more efficient experience.

Select ‘Product Variables’ (or another level) on the left panel, check the checkbox for the desired variables and click the ‘Merge # Changes’ button to mass merge variables.

Model Links in Compare & Merge Models Module

Users can now open the source and target models in a new tab from with the Compare & Merge Models module so they can easily review the details of those models on another tab.

The orange arrow icon opens the selected Source or Target model in a new tab.

Input Tables on Workbooks

Input tables allow users to incorporate supplemental data into their reports. They allow users to integrate new data points into their analysis and augment existing data to facilitate rapid prototyping, advanced modeling, forecasting, what-if analysis, and more—without overwriting source data or having to incorporate input data into Slope models. 

For more information on incorporating Input Tables in your workbooks, visit our support article here.

Enhancements

  • HPM now honors the error limit set on projections.

Fixes

  • Model point file definition field names (headers) are now case insensitive for HPM runs.
  • Merging a variable change consistently removes indirect array references as appropriate.
  • Force recalc variables for dynamically run products are consistently being output for time periods during the projection period.
  • Projection time is again being consistently set for force recalc variables for all time periods in the debug view.
  • Main variable result is again showing at the top of the debug view when an array value is selected.
  • Invalid product range array configuration is being consistently captured by validation.
  • Drag and drop is no longer freezing when the user opens the relationship view in another tab while using the formula editor.
  • Model point field merges are again successfully being merged.