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.

August 2023: Dynamically Aggregate Array Values, Validation Update and Fixes

New

New Formula Option: Dynamically Aggregate Array Values

The formula editor now has an option to take the sum, product, minimum, maximum or average across all array values. Similar to using a SUMIF or other conditional formulas in Excel, this new operand allows for conditional operations or manipulations across the array values.

The Dynamic (Array) Aggregation Options are found under the Math Functions (Calculator Icon) > Aggregate Calculation (Sigma Icon) option in the formula wheel.
In this example, we are doing a dynamic summation across a data table array.

Change

Changed Validation Error to Warning

Users will now be warned when an Investment Strategy Portfolio variable references a product aggregate with ‘After Investment’ timing set. This is to inform users of potential misconfigurations.

Fixes

  • Merge mapping logic has been updated to better handle name changes.
  • Updated the Debug View to show all fields for Present Value and Goal Seek formulas.
  • User will no longer get an unknown error when merging a variable that does not have an array set in the variable properties of the source model and does have an array set in the variable properties of the target model.
  • Resolved a temporary issue resulting in unknown errors on the run logs.

July 2023: Merge Multiple Table Structures and Data Tables, In-App Resource Center and Workbook Enhancements

New

Merge Multiple Table Structures and Data Tables at Once

The Governance module now allows users to merge multiple table structures and data tables at once so that each data table and table structure does not have to be individually merged one at a time. All nested table structures included in the mass merge will be automatically mapped for a more efficient merge experience.

Select Table Structures on the left panel, check the checkbox for desired structures and tables,
and click the ‘Merge # Changes’ button to mass merge table structures and tables.

In addition to the mass merge capabilities, the merge module now refreshes the items in the left hand panel upon merging to remove the changes that no longer exist between the two models.

In-App Resource Center

The new Resource Center provides integrated support article searching and highlights new features within the Slope Application. Walk throughs and additional onboarding content will be available in the Resource Center in the future.

Enhancements

Copy and Paste Workbook Elements and Worksheets

Workbook elements (tables, visualizations, etc) can no be copied and pasted for easy repurposing and editing. You can also copy and paste worksheets.

Delete Workbook Folders

Folders can now be deleted from My Documents or your account’s workspace from within the Workbooks module.

Export All Elements in a Workbook to Excel

You can now export all elements (tables, visualizations, etc) to a single excel file with the ‘Send Now’ functionality. Each element will be sent in a different worksheet of the same excel file.

Fixes

  • Pasting a part of a formula in the editor will no longer clear out the operator.
  • Consistently showing the correct variable name in the error message when an aggregate calculation has an empty value.
  • Resolved an issue in which a renamed variable was listed multiple times when merging model changes in the Governance module.
  • Corrected the headers on the grouped projections view in the Projections module.
  • The state of the ‘is required’ property can now be merged in the Governance module.
  • Users can now merge model point field change if the alias on target model matches a name change.
  • Validation has been added to workflows to notify users that workflows have a limit of running 40 projections at once.
  • Large scenario tables should no longer cause projection delays.

June 2023: Monte Carlo Simulation with Statistical Distribution Function, Data Table Sorting and Filtering, Improved Errors for HPM and more.

New

Monte Carlo Simulation

Slope now offers both a Random Number Generator and Statistical Distribution function in the formula editor so that they can be used to run Monte Carlo Simulation. Slope supports Probability, Cumulative and Inverse Cumulative function types and the following distributions: Beta, Binomial, Exponential, Gamma, Lognormal, Normal and Poisson.

The Statistical Distribution Function can be found by typing “Statistical Distribution” after opening the Formula Wheel or by clicking on the Math Functions icon.

After selecting your desired distribution type, you can use the formula wheel to provide a value, calculation or variable for the additional distribution parameters. When the Random Number Generator is used in combination with the Statistical Distribution function, users can run Monte Carlo simulations to predict a variety of outcomes.

Click here for more information on Monte Carlo simulation in SLOPE.

Enhancements

In App Sorting and Filtering on Data Table Columns

Clients can now sort and filter on data table columns to more easily review, sort and edit data without having to export their table to Excel. Columns with a data type of string, decimal, integer, boolean, date and drop down list can be sorted or filtered.

Sort order updates and ‘clear column’ changes can be saved by using the save button but data value filtering will not persist upon save.

Clicking the arrow next to the header label will allow you to filter the columns using a value or a condition or clear the data from the column completely.
Click on the header label for any data table column (that is not a decrement or data table column type) to sort in ascending order. Click a second time for descending order and a third time to remove the sorting and return the data to the original order.

Improved Error Information for High Performance Mode (HPM) Projections

High Performance Mode (HPM) now offers improved error reporting. HPM errors are found on the Run Logs tab and Projection Run Summary on the Workbooks tab. A new ‘Error Report – HPM’ tab on the Projection Run summary will show new columns to provide additional info for troubleshooting. New columns include: variable name that errored, time index that the error occurred, data table and table structure (if the variable was a data table read), portfolio name, product name, model point record # and current array value when applicable. Errors are also grouped by the variable where the error originated.

High Performance Mode projections will show the variable errors grouped by the variable that the error originates from. Expanding the variable will show all the variables impacted as well as relevant details on scenario number, time index, model point record number, etc.
High Performance Mode errors can be found on the ‘Error Report – HPM’ tab of the Projection Run Summary.

On the Debug View for HPM projections, ‘Projection Time’ has been added and shows the time period that the projection was processing when the result was calculated. The column formerly called ‘Time’ has been updated to ‘Time of Result’

Easily Filter Workbooks to show Monthly, Quarterly or Annual Results

Workbook data tables and visualizations can now be easily filtered to view monthly, quarterly or annual results using a ‘View By’ control. Instructions on how to setup the control and filter the data are available here.

The Income Statement and Balance Sheet workbooks (e.g. GAAP IS/BS) found in the Slope System workspace provide an example of a workbook with a View By control.

Changes

  • The Operator Control is now integrated into the end of a formula instead of inserted in between two operands to better align with the typical order of operations for creating a formula.
  • Non breaking spaces on Data Table Data and Index columns are now being converted to a standard space so they do not result in an error retrieving records at runtime.
  • The Bond Equivalent option for Yield Curve Rates will automatically be selected when rates are fetched from the Treasury for scenario generation.

Note: The change to always calculate variables that are non time indexed has been put on hold. This will allow clients an opportunity to update their models to prevent excessive errors on variables or specific model points for a variable that did not need to be calculated. Communication with timelines and model update recommendations will be sent via email to all clients well in advance of this change.

Fixes

  • Slope will now return a descriptive error message when there is an invalid nested data table.
  • The validation message for an empty table will now be cleared when importing a ‘File Only’ table over top of an empty table.
  • The correct time index is again being reported in errors when using a non-default data table.
  • A complex array aggregation configuration will no longer result in an unknown error at runtime.
  • Calculating a table formula for the first time within a goal seek chain will no longer result in an unknown error at runtime.

May 2023: Projection Workflows, Search for Operand in the Formula Editor, New Navigation & More

New

Projection Workflows for Sensitivity Analysis & IFRS 17

Clients can now group and kick off multiple projections in a workflow to allow for easier setup, execution and reporting. The most common use cases for using workflows include IFRS 17 reporting and sensitivity analysis which both require running multiple projections. For information on how to create and run a workflow, visit our support documentation here.

Search for Operand in Formula Editor

Users can now type to search for an operand (variable, data table, formula, etc) for faster formula creation.

After clicking the formula wheel icon (orange circle with three bars), simply begin typing to search across variables and formula types. In the example below, searching for Lapse returns several variables and data tables to select from. Upon choosing the desired operand, you will be prompted to provide any additional details.

Enhancements

Updated Navigation & Projection Changes

The top navigation menu has been updated to provide more descriptive labels. We have also combined the Execute and Analyze modules into a single module now called ‘Projections’. Selecting a projection that has not been run or that is actively running, will open the Projection Details screen. Selecting a projection that has been run, will open the Workbooks screen so you can view results.

In addition to these navigation updates, clients can now duplicate not started and running projections.

View Relationships for Model Point Fields

Users can now view the relationships for Model Point Fields from the Model Point File Definition using a new option within the action menu found next to each field.

Model Copy No Longer Includes Unnecessary Table Structures and Tables

When copying a model (e.g. The Slope Life Library) and selecting some but not all products, the table structures and tables that are not used by the selected product(s) and portfolio(s) on the copy will be removed from the copy. This is to eliminate unnecessary tables from showing up in models and projection templates.

Model Comparison Performance Improvement

The Model Comparison feature found within the Model Governance module is now faster allowing for a quicker review of differences between two models.

Default Cursor in Modals

Now the cursor will default to the first field in a modal so that users can immediately begin typing into the first field without first having to select or click in the field. (e.g. Name on the Create New Variable modal)

Ability to Map Array Values when Merging

Users can now map array values when they are merging a variable with a formula that uses a static array with single value aggregation so that their formula is valid in the target model following the merge.

Fixes:

  • Files with special characters in the worksheet name can now be uploaded without error.
  • The correct excel row # for errors will now be reported when loading model point files (previously off by 1).
  • Projections run with models that are set to “Copy Only” are again showing in the projection list.
  • The Merge module will now show all arrays when merging a variable with a formula that references a static array with single value aggregation set or a constant with a data type of array.
  • When merging an IRR formula, the Merge module will detect and show differences for the Behavior and On Failure (warn/ignore) fields.
  • Run Logs are again available for projections that Failed to Start.
  • Users should be now be able to consistently access Slope Academy when logged into the Slope application.

April 2023: Use a Formula to Read a Model Point Field by Name, Virtual Folders on Projection Templates & Sunsetting Snapshots

New

Use a Formula to Read a Model Point Field by Name

Users can now select a Model Point Field by name using a formula as a more dynamic alternative to selecting a single field by name from the drop down. All formulas that return a string value are considered valid in the variable editor. When the projection is run, Slope will attempt to match the string value to a Model Point Field name and will error if there is not a match.

In this example, the number of annuity accounts can vary from one plan code to another. The formula finds the correct initial balances for starting a projection using a table read.
The Initial Balance MPF column in this data table indicates which model point field should be used.

Enhancements

Virtual Folders on Projection Templates

Users can now select a folder on a projection template so that all projections run from the template are automatically organized into the set folder.

Sunsetting Snapshots

Users will no longer be able to take new snapshots of models. The best approach for preserving a model at a point in time (e.g. after year end valuation) is to set the model to Copy Only using Model Permissions and make all edits to a new copy.

This approach makes it easy to compare the Copy Only (former version) with the edited version using the Manage model to review all changes made to the model.

Additional Information available Available on the Debug View for Arrays

  • When only some of the static array values were run in a projection, the calculated values will display and those that don’t have results will indicate that there is no result available.
  • Array values deleted after the run will be displayed as struck through and explain the value no longer exists.
  • When a variable is changed to be an array variable after the run, and there is a single formula for an array (e.g. dynamic array) the formula will be displayed in the debug view.
  • When there is a result without an array value we will show the result with no array value selected.

Fixes

  • Empty data cell values on data tables are no longer causing unknown errors.
  • The control panel has been removed from the Error report displayed on the Run Logs tab.
  • The Asset Allocation page is properly reloading after an asset is deleted following the use of the search panel.
  • The header of a data table is no longer included in the row count of an error message.
  • Merging a table structure change will now trigger data table versioning on the destination model.
  • Model validation is now being triggered when merging a portfolio or product.

March 2023: Model folders for organization, lock and unlock projections and more enhancements.

New

Folder Organization for Models

Clients can now create, rename and delete folders for organizing their models.

Create folders using the + icon next to ‘Workspace Model Folders’ and add new subfolders, edit the name and delete using the 3 dot icon which appears upon hover over a folder. Models can be added to a folder or subfolder by dragging and dropping into the desired location.

New Option to Lock and Unlock Projections

Completed projections can now be locked so that the results are protected from deletion.

Both Model Developers and Model Admins can lock a projection but the Model Admin role is required to unlock a projection. Please contact us at support@slopesoftware.com if you wish to customize who can lock and unlock a projection.

Enhancements

Arrays

  • Clients can now specify a single formula for all array values which makes model management more efficient when array values are added, removed and modified but should all use the same formula.
  • When removing an array from a model via the merge tool, users will now be warned which variables will be impacted.

High Performance Mode

  • The ‘Output Prior Time Period Results’ setting is now available in High Performance Mode.
  • Results for Product, Portfolio and Company variables that error will now be output for improved trouble shooting using the error report.

Workbooks

  • The Share button will now copy a link to the current workbook and worksheet (tab) with the set filter values for improved collaboration.
  • The data lineage view is now available in the lower left corner of Workbooks (when in Edit mode) to assist with troubleshooting and tracing data sources.

Changes

  • The Time Indexed setting will be automatically enabled when Post Projection is enabled to prevent invalid setups.
  • Circular reference validation errors will no longer display for a non-time indexed array variable that uses a single value or single value formula and references another array value.
  • The selected array aggregation method will persist when the array variable referenced by the formula is changed.
  • The selected array value will persist when the array variable is changed in the formula editor and the array value is available on the newly selected variable.

Fixes

  • Resolved an issue with data table column sort order preventing users from creating or editing index columns.
  • Target value match rules will no longer result in failed to start errors for projections that use an investment strategy.
  • The sort order on the version drop down in nested data tables has been fixed so it is in numeric order.
  • Model copies using the auto include setting are consistently succeeding again.
  • The calculation engine will now parse file-only data tables past rows with errors.
  • Resolved an issue in which calculation order in the formula builder for formulas using product aggregates impacted results.