Fixed an issue in the calculation of Product variable “Entry Age 02 – State – Head Count BOP (Actives)” affecting plans using the Misc 2 decrement where the Misc 2 decrement rate should have been subtracted rather than added
Fixed an issue where a $0 retiree benefit amount causes Retiree Payment Form Factors to divide by zero. See product variable “In Pay Record 26 – Payment Factor Annuity”.
Fixed an issue where providing no Social Security benefit table in table structure “Benefit Formula Table References Not Yet in Pay” causes product variable “Product Variable “Social Security 04.4 Age to start compensation history” to default to 0. The variable now defaults to the value of product variable “Age at Valuation Date” instead of 0
Version 2025.03 of the Slope Governmental Pension Library has been unpublished so our users do not mistakenly utilize these invalid setups. If you require a copy of this version prior to the fixes, please contact support@slopesoftware.com.
Dynamic Model Point Variables in High Performance Mode
High Performance Mode now supports models with dynamic model point variables. This allows product variables to reference Portfolio or Company variables from prior time periods. See the diagram below and the Dynamic Projection Processing section of this support article for more details.
References to the summarized results of Products within Portfolio and Company variables continue to be supported, as these will have already been calculated.
Coming soon: Support for projections with initial asset scaling and investment in High Performance Mode (HPM).
Enhancements
Table Structure Column Sort Order Now Visible in Governance
When comparing models, users can now clearly see differences in a Table Structure’s column sort order, enabling more reliable and predictable model adjustments. Note: Sort order changes are not mergeable at this time.
Data Table Column Differences Now Visible in Governance
When comparing models, the following Data Table column differences are now displayed. Note: These differences are not mergeable at this time.
Index Column: Yes/No
Index Read Method: Exact Match or Range Lower Bound
Sort Order
Data Type
Dropdown List Array (if applicable)
Table Structure Name (if applicable)
New Workbook Editing View
Workbook editing has a new look! Properties, formatting options, and actions are now neatly organized into tabs, so you can make quick adjustments without feeling lost.
A new element bar allows for inserting charts, tables, and other elements on the fly.
Fixes
Resolved an intermittent issue where the filter values for some workbook controls were not being populated
Added stability around hardware failures to prevent intermittent, inaccurate Product Aggregates on certain larger HPM projections
Fixed an issue where adding a model point file to a product using the API would sometimes fail.
Saving allocations on models no longer causes intermittent errors.
Computations in the profiling workbook are now correctly attributed to their respective variables.
Adding a column to a table structure after deleting an array that was used for a dropdown list no longer results in an error
We have introduced the following new API endpoints, organized by resource type for easier reference:
DecrementTables
GET /api/v1/DecrementTables/{DecrementTableId}
Retrieve a decrement table by ID
ImprovementScales
GET /api/v1/ImprovementScales/{ImprovementScaleId}
Retrieve an improvement scale by ID
Models
GET /api/v1/Models/{ModelId}/ScenarioTables
List all scenario tables in a given model
GET /api/v1/Models/{ModelId}/ImprovementScales
Retrieve all improvement scales in a given model
TableStructures
GET /api/v1/TableStructures/{TableStructureId}
Retrieve the details of a given table structure
GET /api/v1/TableStructures/{TableStructureId}/DataTables
List all data tables in a given table structure
GET /api/v1/TableStructures/{TableStructureId}/Columns
Retrieve all columns in a given table structure
ScenarioTables
GET /api/v1/ScenarioTables/{ScenarioTableId}
Retrieve the details of a given scenario table
Enhancements
API enhancements
The following endpoints are now paginated:
GET /api/v1/Files/GetFiles
GET /api/v1/DataTables/Data
Added an optional “Content-MD5” parameter to the GET /api/v1/Files/GetUploadUrlendpoint
Added a parameter to filter the GET /api/v1/Files/GetFiles endpoint by folder path
Other Enhancements
Compare & Merge
You can now use Shift + Click to select a range of items in the Compare & Merge tool. This allows users to select or deselect a subset of elements to merge rather than selecting them one at a time.
Confirm Merge
We have also streamlined the confirm merge window and added a filter to view all mappings, just the unmapped items, or just the successfully mapped items.
Formula Builder
You can now search in the formula builder to quickly add the following elements:
Search “Array Value” to add an array value constant
Search “Day of”, “Month of”, “Year of”, or “Time of” to add the corresponding date part
Fixes
API Fixes
The correct error is now being thrown when file tabs are not populated in the PATCH /api/v1/Projections/{projectionId} endpoint
The Data Table ID is again optional in the POST /api/v1/DataTables/{DataTableId} endpoint
The GET /api/v1/DataTables/Data is again returning row data in the correct column order
The POST /api/v1/Projections endpoint now supports either path parameters or request body payload
Other Fixes
Grouping parentheses in formulas is now always shown in the Compare Products tool
We are again showing the model name in the confirm merge window when removing data tables from a target model
Backend stability improvements for very large HPM projections with product aggregations
Users can again retrieve treasury rates in the Economic Scenario Generator
Errors are now being shown correctly when the error limit on a projection is small (~10), and the error limit is reached
Deprecated / Removed Features
API Endpoint Deprecations
In conjunction with the new API endpoint structure, the following legacy endpoints have been deprecated and replaced with…
Workspace models can now be promoted to “Production Models” within your workspace. Promoting allows you to designate a model once development is complete. Once a model is promoted, it is locked and cannot be edited. Production models can still be copied, used in projections, and used in the Governance module as a source when comparing and/or merging.
Promoting cannot be undone, and promoted models cannot be deleted.
Once promoted, Production Models are shown in the “Production Models” tab of the model list.
Users must have a dedicated Production Admin permission to promote a workspace model. Contact support@slopesoftware.com to assign a Production Admin for your workspace.
AI Reporting Features
Use AI with Formulas
You can now use AI to write new formulas, correct formula errors, and explain existing formulas applied to elements in workbooks. These AI capabilities can help enhance productivity and accuracy, ensuring you get the most out of custom calculations and available functions.
Explain charts with AI
The Explain this chart feature uses AI to instantly generate a description of any chart. Details can include key insights, observations, data distribution summaries, and other context that can enhance your understanding of visualized data and help drive informed decisions.
Compare & Merge Enhancements
We are actively working to make comparing & merging models faster and easier. You can now merge the following:
Data Table deletions
Multiple Improvement Scale additions at once
Multiple Product additions and deletions at once
Multiple Portfolio additions and deletions at once
Multiple new values for a static array at once
API Enhancements
We have introduced a new GET /api/v1/Models/{modelId}/ProjectionTemplates endpoint, which allows you to pass in a model ID and get a list of all Projection Templates that exist on this model.
We have also made the following API enhancements:
The GET and PATCH /api/v1/Projections/{projectionId} endpoints have been aligned so that the response from the GET endpoint can be seamlessly passed into the PATCH endpoint
The PATCH /api/v1/Projections/{projectionId} endpoint now supports setting a scenario table subset
The POST and PATCH /api/v1/ScenarioTables and points now support setting the Short Term Interpolation Method. If no value is provided when creating a new table, we default to Annual Effective Rate
The POST and PATCH /api/v1/DataTables endpoints now support setting the Index Column Read Method. If no value is provided when creating a new column, we default to ‘Exact Match’
Improved error messaging in the /api/v1/Reports/Workbooks/{id} when an element cannot be downloaded
Other Enhancements
You can now copy an Assumption Set
When a table used in a projection has been deleted, we indicate it is deleted in the Projection details
We now show an information message when a formula uses an unnecessary Single Value Array Aggregation
Fixes
The Rounding function is now correctly truncating the correct number of decimal places
Results are displaying correctly in the Debug view for two-dimensional product array variables referencing other two-dimensional product array variables and for two-dimensional portfolio array variables referencing a one-dimensional product aggregate array variable
Links from the Relationship View are again working
The Standard Deviation parameter in the Statistical Distribution function for Normal and Lognormal distributions has been correctly labeled
The library model has several enhancements that provide additional options and features:
Advanced COLA limits for retirees
Single Benefit Definition covering both Active and Vested Terminated
Parameterization of Social Security PIA benefits for each benefit formula
Additional details of annuity payment form factors in workbook “Pension Trace Life Retirees”
Additional option to use a specified model point field as a source for:
Account balance at the valuation date for retiree benefits with an annuity payment form with a Modified Cash Refund feature
COLA anniversary date
Payment form for Active and Vested Terminated records
Advanced COLA Limits for retirees
The library model now comes pre-configured with a way to develop Cost of Living Adjustment formulas that are more complex than a simple rate increase for retirees in addition to Active and Vested Terminated. An example would be a limit of cumulative COLA to less than 2.5 times the benefit amount at retirement. See this support article for more details.
Single Benefit Definition can now cover “Active and Vested Terminated”
In the table structure “Benefit Definitions Not Yet in Payment”, the column “Active or Terminated Vested” now has a 3rd option “Active and Vested Terminated”. If this option is selected, both active and vested terminated records will be eligible for the particular benefit definition. This eases the maintenance of the model by reducing the number of configured benefit definitions for each plan. See this support article for more details.
Robust Social Security Primary Insurance Amount (PIA) for separate benefit formulas
Parametrization of multiple Social Security PIA benefits is now included in the library model via a new column “Social Security Benefit” in table structure “Benefit Formula Table References Not Yet in Pay”. For each benefit formula, the column selects the Social Security parameters by referencing a data table from table structure “Social Security Benefit”.
A new benefit formula component “Social Security PIA at computation age * Early Retirement * Inflation” can now be used within product variable “01 Benefit Formula Amount Annual – Actives and VTs”
Workbook “Pension Trace Life Retirees” has been modified to include details of annuity payment form factors.
The workbook has been enhanced to provide additional information around payment form factors for retiree annuities.
Retiree benefits with an annuity payment form with a Modified Cash Refund feature can now reference a model point field as the source for the account balance at the projection start date
A new column “Account Value Data field override” has been added to the table structure “Retiree Guarantee Period”. The column is used to select a model point field which reports the amount of the current account balance when calculating the guarantee period of an annuity with a Modified Cash Refund feature.
Additional option to apply COLAs on the anniversary specified by a selected model point data field
An additional option to apply COLAs on the anniversary of a specified date variable from the model point fields is now available within table structures “Benefit Definition – Payment Form” and “Retiree COLA Increase Details”. See this support article for more details.
Additional option to select the payment form for Active and Vested Terminated records using a model point field
Users can now select the payment form for Active and Vested Terminated records by referencing a specified model point field. The selected model point field is configured in a new column “ModelPoint Field that varies Annuity Form” in table structure “Benefit Definition – Payment Form”. See this support article for more details. See this support article for more details.
Changes and Fixes
Product Variable “Time of First Funding Age” has been modified to correct certain situations where it was not returning the first anniversary of the valuation date subsequent to hire.
Product Variable “Array Reference Retirement Latest” has been modified to return the first day of the valuation year in which 100% retirement rate is assumed, but only for active records.
The product variable “Compensation Participant from Entry Age” has been modified to correct for certain situations where it was not recognizing parameters from data table structure “Compensation History Parameters”.
The product variable “Decrement Array Start” has been modified to address certain configurations where errors were returned for retired and nonvalued records.
The product variables “Decrement Array End” and “Decrement Array Step” have been modified to address certain configurations where errors were produced with middle of year decrement timing.
Added a default source for the “PV Factor – Interest Discount” variable to fetch the discount rate from Valuation Assumptions table rather than returning an error.
Revised product variable “Entry Age – PVB at Entry Total” variable to include one half year of interest discounting when calculating participant contributions
Revised product variable “EA Level Pct Pay 05 – Compensation Monthly Stream” to correctly calculate valuation year pay for mid year decrement timing
Users with API access now have the ability to create Personal API tokens in addition to Workspace API tokens
Personal API tokens are generated at the user level and impersonate the access of the user who creates them. This includes the system roles/permissions and individual model permissions.
Workspace API tokens give users access to call any endpoint for any model in the workspace, regardless of the user’s individual permissions in the platform.
You can generate and access API tokens by selecting the user icon (👤) in the top right of the application, then selecting “Administration”. See this support article for more information.
Enhancements
API Enhancements
The GetProjectionDetails endpoint now includes the Model ID and Scenario Table ID
The GetFileUploadUrl endpoint now includes an optional “Content-Type” parameter
Copy Link to Variable
You can now quickly get a direct link to a variable in your model by hovering near the “Variable Properties & Documentation” header next to the variable name
Error Indicators on Product and Portfolio List
If a product or portfolio contains a variable with an error, we show an error icon next to that product or portfolio in the list. This can help quickly identify entities in the model that need review.
Enhanced Configuration When Converting Variable to Model Point Field
When converting a variable to a Model Point Field, you can now set the Aliases, Default Value, and Required fields all in one window.
Additional Projection Details
You can now see the Projection name and completed time for a run in the header of the Projection Details
Other Enhancements
The “Set Tables to Latest Version” setting when duplicating projections now applies to Scenario tables in addition to data tables
You can now select the folder for a model upon model creation
Fixes
HPM projections no longer fail to complete when the projection contains zero model points
Economic Scenario Generator can now retrieve the 2025 US Treasury rates
We are again showing the difference in the Compare view for company variables when the variable uses a static array and a single formula for all array values
Pivot tables now support the ability to freeze or unfreeze the position of columns.
Search “True” or “False” in Formula Builder to Insert Boolean Formula
You can now search “True” or “False” in the formula builder to quickly insert a Boolean constant with “True” or “False” automatically set as the value.
Fixes
Switching the array in variable properties from a one-dimensional array to a two-dimensional array that contains the original array correctly retains the formula per array value if applicable
The GET projection endpoint is now correctly returning a status when a filter is applied
Data tables are no longer being erroneously created on import when files are missing column names
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
“Service Cost Rate”
“Service Cost PV of Future Comp at Entry”
“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.
Model Lineage Shows the Model Source and Other Details
Model details now include additional information to help keep track of a model’s source and history. The “Copied From” field shows which model was copied to create the model you’re looking at (source). You can link directly to the original model as long as it has not been deleted.
Model details now also include the “Created On” date and the model folder if applicable.
Option to Not Reset Table Version Numbers on Copy
Users now have the option to reset or not reset table version numbers when copying a model. When copying a Library model, this box will be checked by default. All other models have this box unchecked by default so that you maintain table version numbers from the source model.
Show Nested Table Version Numbers When Comparing Tables
Users will now see the version numbers of nested tables when using the Compare Tables tool.
Fixes
Model copies are no longer failing when model permissions are set to Shared with Specific Users
Projections with over 4000 scenarios are no longer failing validation
When changing an array to Calculated Range Array from any other type, values are no longer being incorrectly reset to ‘0’
Memory issues no longer result in Model Point Results not getting written
Portfolio variables with commas in their name can now be selected as the Scenario Source in a Present Value formula or Yield Curve Merge formula for a product variable
A number of changes were made to the IDI product, with the largest being the separation of Best Estimate, US STAT, and US GAAP calculations from each being contained in separate array values for each basis into separate sets of variables for each basis. This provides the ability to exclude a reporting basis using variable tags if the user does not want to run US STAT and/or US GAAP.
In addition, the model has been cleaned up substantially, including a refresh of the disability incidence and termination rate tables within the model.
IDI Changes
Moved array variables based on the Accounting Basis array to separate sets of variables for each basis.
Modified gross premium rates to set rates to 0 after time of premium cessation.
Added a default of $0 premium starting from Age 0 (lower bound) to table Library Premiums to Age 65 (previously named Flat_To65_EP90) in table structure IDI Premium Rates structure to prevent the table lookups from producing errors at younger attained ages.
Moved to a separate variable the reference to the A&H Open Claim Reserve within variable A&H Claim Reserve.
Removed unused Premium Type column from the library example Model Point File
Deleted unused Premium field from Model Point File definition.
The Model Point field for Initial Premium is now optional in the definition since this is only needed for Single Premium policies.
Renamed Claim Age variable to Age Attained on Claim to clarify that it represents attained age while on claim rather than age at claim incidence.
Renamed the Time of Claim Term variable to Time of Claim Expiry to clarify that it represents the time of expiry (i.e. end of benefit period) rather than a term length.
Renamed Incidence Tables table structure to IDI Incidence Tables for clarity.
Renamed table structure Inc and Term Table Lookup to Library Incidence and Termination Table Lookup for clarity.
Renamed misleading data table name from Flat_To65_EP90 to Library Premiums to Age 65 within table structure IDI Premium Rates.
IDI Fixes
All disability incidence and termination rate tables have been updated to correct various issues in the tables’ values.
Revised the Library Incidence and Termination Table Lookup table (previously named Inc and Term Table Lookup) to now contain all occupation classes.
Fixed inconsistencies in the sample IDI Plan Code Table.
Added a condition to several variables to not inappropriately calculate (by setting to zero instead) if irrelevant to the disability status at the projection start date. For example, if a life is Disabled at projection start, then variables specific to Active lives are now set to zero.
Modified variables relating to policies in force such that they only calculate for lives that are active at the projection start date, which is consistent with how these variables are currently used in the rest of the IDI product.
Fixed issues relating to Unearned Premium Reserve calculations for single premium policies. Corrected product variable US STAT Active Life Reserve – Unearned Premium per Policy and the example plan code table to calculate zero Unearned Premium Reserves for single premium business, which is now always assumed to map to Credit in the US STAT Line of Business column in the example Plan Code table.
Fixed an issue where US STAT and GAAP unearned premium reserves were trying to calculate a value after premium payment period ended.
Added missing monthly benefit to the library example Model Point File’s records #3 and #4.
Turned off Always Calculate switches on a number of variables which were causing unintended calculations in certain circumstances.
Added Maximum Coverage Age boundary to the incidence rate variables to prevent them from accidentally calculating incidence rates at unintended ages.
Modified the table within structure US STAT Mortality – Individual Disability Income (IDI) to work for issue years 2021 and beyond. Also, collapsed the table structure to use a Range Lower Bound match type rather than Exact Match.
Added Premiums Per Year alias to the Premium Mode model point field definition to properly capture the column in the sample Model Point File
Corrected variable Reinsurance US GAAP PV YRT Benefits which previously referenced US STAT mortality rather than US GAAP.
Corrected variable Maximum Coverage Age (renamed from Maximum Incidence Age) to reference column Coverage to Age from the Plan Code table rather than Maximum Age. This change was done to be more consistent with the Life Library’s design in that Maximum Age refers to the maximum age for model point processing (including the run off of all disability claims) while Coverage to Age refers to the last age of disability incidence. The variable rename clarifies the coverage period also specifies the last period of active life mortality in addition to disability incidence.
Other Library Changes
Renamed array value AG35 – CARVM-MVRM to AG35-MVRM in array Indexed Annuity US STAT Valuation Method to be consistent with other AG35 methodologies.
Added new Policy Year column to the Policy Load table structure. As a result, UL variables have been modified to account for new structure.
Renamed table structure A&H Incidence Tables to CI Incidence Tables. References in the CI product variables will point to this renamed table.
Other Library Fixes
Added a Zero CSV plan code data table for Term Life so that Term Life runs that exclude US Stat variables do not produce errors.
Best Estimate Cash Flows templates in the Life Onboarding model references the Zero CSV plan code data table (from previous bullet) so that it does not produce an error when being run.
New Slope Academy video covering Intro to Life Library Design and Concepts
We have published a new Slope Academy video (~25 mins split into 4 parts) for new users of the Slope Life Library. This video covers the initial set up of the library model and a quick overview of the basics of the SLOPE platform in the context of the library model. It is useful for new users of SLOPE or those that are new to using the Slope Life Library and want a quick orientation of general design aspects of the library model. This video also provides ideas to reuse for user-created custom models built within the platform.
Coming Soon
Pension Risk Transfer library model
Revamped annuity product in Life Library model combining Fixed and Indexed Annuity products with enhanced deposit-based modeling