November 2020: Product Set Overhaul, Table Relationship View, System Dashboard Folders + More!

As we roll into the holiday season, we continue to roll out some great features for you. More flexibility and faster setup means more time to sit back, relax, and enjoy all the pumpkin flavored goodies that make an appearance this time of year.

NEW

Product Sets Have Been Removed

In an effort to make configuration easier, simpler, and more flexible, we have removed the concept of ‘Product Sets’. Instead, products are now attached directly to template/projection portfolios, as well as asset/liability allocations. This accomplishes a few things:

  • Simplifies the setup process, especially for simpler projections.
  • Allows configuration of investment and/or sales allocations that have different products in them than the inforce portfolio contains.
  • Prepares the interface for more complex investment and sales strategies that will be released soon.
  • Clarifies the differences between liability/sales allocations (which now exist under the ‘Dynamic Sales’ area in Assumption Management), and asset allocations (which now exist under the Investment/Disinvestment area in Assumption Management).
The ‘Product Sets’ area in Assumption Management has been replaced with these two options.
Investment/Disinvestment has its own area now. More advanced strategies are coming soon!
Simply add/edit/delete products directly on the allocations. Duplicate products are allowed! This interface is also similar to how template/projection portfolio products are edited now.

Table Structure Relationship View

Want to know all the variables that reference a particular table structure? Now you can! We’ve added a relationship view to table structures to easily trace what uses a table.

Nifty! Navigate here from the table structure details.

New Reporting Dashboard Folders

To help organize the system dashboards, we have added sub-folders for particular types of reports. All folders/groups are collapsible, as well.

Array Index/Value System Variables

For clarity and additional flexibility, we’ve changed the ‘Current Array Index’ system variable to be named ‘Current Array Value’. This system variable still returns the value stored in the array. A new system variable, now named ‘Current Array Index’ has been added and returns the index (starting at zero) of the current array value within the array.

Given an array of [A, B, C], if the system is currently calculating B, value would return ‘B’, and index would return ‘1’.

IMPROVEMENTS

  • Product output groupings can now be merged from the Merge Model Changes page.
  • When merging a dynamic array, the referenced output groupings can now be mapped, instead of copied.
  • The user who ran a projection now appears in the list views and on projection details in the Execute and Analyze modules.
  • Table structure merging performance has been improved.
  • Minor performance improvements when updating a data table causes a new version to be created.
  • Minor messaging and interface adjustments.

FIXES

  • Fixed a display issue with dynamic aggregates that caused the ‘Current Index’ info message to appear in some cases where it was actually referenced.
  • Long lists inside modals now scroll to avoid making the confirm button unclickable.
  • Added a more descriptive message when a self referencing dynamic aggregate causes an infinite loop.
  • ‘Output All Results’ now properly also affects non time indexed portfolio and company variables.
  • Fixed error message when an invalid nested table reference exists during calculation.
  • Single Value Array Formulas are now properly cleared out when formula is converted to a non-array variable.
  • Fixed some instability in the formula builder that sometimes caused duplicate formula tokens to appear.
  • Dynamic array variables that have no results now write a zero value to the DB instead of no value.
  • Fixed an error caused by attempting to compare products without a product selected.

October 2020: Dynamic Arrays, Product Diff/Merge, and Force Recalc Debugging!

NEW

Dynamic Arrays

Early in October we introduced Dynamic Arrays at the Portfolio level! When configuring an array, select a Type of ‘Dynamic’ to enable this feature, and select a Product Output Grouping to use for the values. During the run, the output grouping results will be used to create an array, and variables that depend on this array will automatically iterate over the array values that were calculated. This is especially useful for logic involving cohorting!

In this example, we’re creating an array that will use the calculated Issue Years at each time period as its array values. Pretty fancy.
Then simply select your new array when creating your variable. Instant dynamic array! Reference array indexes and perform array aggregates within formulas as you would a static array.

Product Compare/Merge

Individual products can now be compared and/or merged in the Change Management module, using a similar interface to the Diff/Merge Models pages. This allows the merging of changes to individual products, including products on the same model.

Debugger – View Force Recalc Results

The debugger now shows Force Recalc inner loop values when available. When ‘Output Force Recalc Results’ is on for debugging purposes, looking at a Force Recalc variable will show an extra input for the inner loop time, allowing users to see all calculated values in an easy-to-understand interface.

IMPROVEMENTS

  • Performance improvements relating to queueing projections.
  • Performance improvements when loading projections in the Analyze module.
  • Minor performance improvements for VM spin-up time.
  • Minor stability improvements around saving of formulas.
  • Minor formula builder stability improvements relating to Dynamic Aggregates.
  • Improved calc engine performance when no tables are referenced.
  • Product variable validation errors now appear on the projection validation screen.

FIXES

  • Fixed an issue that sometimes caused single scenarios in stochastic runs to not be restartable.
  • Debug links no longer appear in some invalid cases, preventing invalid links.
  • Old mortality table versions no longer appear when copying a model.
  • Fixed scenario table file copying when copying a model across workspaces.
  • Fixed an issue sometimes preventing the user from starting a stochastic run .
  • Fixed an issue where projections could sometimes not be compared from the compare screen.
  • Fixed excel sheet name sometimes not loading in file selection dialog.
  • Data tables can now be immediately edited again after saving, even if the table was just versioned on the previous save.

September 2020: New File Management, Nested Dynamic Aggregates, and Performance Enhancements!

NEW

New File Management

Greater flexibility. More control. The new file manager allows you to organize your files however you want. Much like a local file system, you can now create folders and sub-folders, and move files and folders wherever you’d like.

Oh my.

Not only does the new interface look slick, it also provides all the existing features as well as drag & drop and search functionality!

File options menu
Folder options menu
New file selection with search and inline file uploads directly into folders.

Present Value – Yield Curve Time

An input for ‘Yield Curve Time’ is now available on Present Value formulas, allowing calculations using the yield curve at times other than the current time.

Dynamic Aggregates

Dynamic aggregates now allow users to specify index names, which enables referencing different indexes from within a nested aggregate.

We don’t know what ‘i’ or ‘j’ are, but by god we’re going to multiply them together and perform an aggregate on the results.

IMPROVEMENTS

Product Output Groupings

To help with performance and clarity, product output groupings will no longer automatically perform a power set of the variables included in the output grouping. Now, each variable must be explicitly defined in the grouping and included in the configuration. To keep existing models/projections unchanged, we have created each permutation of each output grouping that already existed. For example, an output grouping of “Issue Year, Gender” would now be represented by 3 groupings, “Issue Year, Gender”, “Issue Year”, and “Gender”. Multiple groupings can be selected on each product on the projection/template, and unneeded permutations can be left off for performance. In the reporting module, these groupings can be selected to properly filter the results. Please ask your account rep for further information, if necessary.

Tons of Performance Improvements!

We don’t like to wait for things. And neither should you. With that in mind, we’ve made tons of performance improvements this month to make things faster, smoother, and generally ‘snappier’. Some areas we’ve made everyone’s lives better:

  • Model Execution/Model Results: We’ve made some large underlying infrastructure changes that affect both of these modules. What does that mean for you? Well, one day you woke up and your runs were faster and your reports loaded in less time. Sweet. This has a particularly large impact on stochastic/multi-scenario runs and loading reports at the model point level.
  • Calculation Engine: We’ve also improved the processing of product aggregates with and without groupings, in static and dynamic modes, helping performance to a varying degree for nearly all runs.
  • Projections now validate and queue a bit faster.
  • Data table loading performance has also been improved.

Other Improvements

  • Navigating to the model validation details page now forces an update of any validation counts to make sure users have the latest and greatest information.

FIXES

  • Fixed the error message on Cash Before Investment portfolio variable to accurately state that it must be time-indexed.
  • Removed references to ‘Calculate All Variables’ setting which no longer exists.
  • Attempting to run a projection that has already been queued now shows an error.
  • Fixed display issue where filters were sometimes showing up on reports that did not use them.
  • Renaming a projection now updates the reports for that projection.
  • Updated error message when an Annuity Factor formula results in a negative duration to inform the user how to troubleshoot.
  • Fixed an issue with the “apply formula to” feature on array formulas that caused shallow copies of some data to be created, and other data to get out of sync.
  • More complex time formulas within Single Value Formula array aggregates no longer cause errors while processing.

August 2020: Product Output Grouping Changes, Mortality Table Versioning + More

NEW

Product Output Groupings Have Moved

Product output groupings have been moved to make configuration faster & easier. Now, instead of configuring output groupings on each product, users can configure a single output grouping at the product level, and use it across all of the products on the model. Less setup = less wasted time! Existing output groupings have been migrated to this new area, which may cause duplicates if there were duplicate groupings across products, which can be removed if desired to reduce maintenance.

Ahh… much better. Configuration is the same, except now all product variables are available.

Mortality Table Versioning

Mortality tables are now automatically versioned, and previous versions can be selected on projections and templates, and viewed via the ‘Inputs Used’ section in the Analyze module.

Other New Features

  • Data table versions are now available when comparing tables, so older versions can be compared.
  • Percentile metrics are now available when building dashboards for Company and Portfolio results.

IMPROVEMENTS

Model Copy Improvements

  • Copying a model has been moved to a background process so users do not have to keep the window open while the model is copying. Models being created from a copy show up as “Creating…” in the model list until they have completed copying.
  • For users with access to multiple workspaces, models can now be copied across workspaces.
  • The copy model page now uses alternating row background colors to make it easier to make selections.
  • Model copy performance has been improved.

Other Improvements

  • When only one filter option is available on a dashboard, that option is now automatically selected.
  • A message icon now appears in the debug view when the value of a time-indexed variable cannot be resolved.
  • Model point results are now available even when the error limit is reached for a dynamic model point, allowing for easier troubleshooting.
  • Users can now use the browser ‘Back’ button on browser windows/tabs that have been logged out once logged back in, to pick back up where they left off.
  • A more useful error message now appears when attempting to calculate a present value calculation with an empty Currency parameter.
  • File only data tables are no longer copied when copying a model, to improve performance and prevent unnecessary duplicates of files.
  • Data/Mortality table merge performance has been improved.
  • Calculation engine performance and memory usage improvements.
  • Minor performance improvements around validation of projections before queueing.

FIXES

  • Assumption sets are now appropriately re-applied when changing a product set on a projection portfolio.
  • Excel date cells that use a custom format can now be imported without parsing errors.
  • Mortality table select period frequency is now persisted when copying a model.
  • Non-numeric mortality table cells are now properly validated.
  • IF condition clause order is now maintained when copying a model.
  • Data tables for deleted table structures no longer appear in the compare/merge views.

OPERATIONS

We continue to upgrade backend technologies, libraries, and packages to stay up to date with the latest technologies for performance and security reasons. We will discontinue including these messages in future release notes, but know that we are continuously upgrading and updating technologies under the hood for you! In the future, we will only include notes about backend technology changes if they have a significant impact on user functionality (such as increased performance).

July 2020: Model Level Permissions, Force Recalc Inner Loop Results, and New Yield Curve Options!

The first month of Q3 was a busy one, including the release of some Q3 roadmap items, as well as some great features around debugging/troubleshooting, performance, and new options for greater flexibility.

NEW

Model Level Permissions

Access to models can now be controlled at the individual model level, when necessary. This feature requires additional permissions to use, so please ask your Slope representative if you would like access to this functionality.

New option on model details page.

By default, models are shared with everyone in the workspace:

When the sharing setting is changed to ‘Shared With Specific Users’, new configuration options will be displayed where individual users can be added/removed and given specific permissions to the model within the application:

Some big names on this one. Note that if you are not a model administrator, you can remove your own access. Be careful!

The header for each model will display the current access, with extra details on hover. Navigates to the model permission page once clicked.

Indicates everyone can view/edit this model
What a lucky individual

Force Recalc – Inner Loop Results

There is a new setting on templates and projections that allows users to output the inner loop results of force recalc variables. These results are stored in new areas within the reporting module and are available for exploring and dashboard building. Use these results to help troubleshoot those pesky complex force recalc variables!

New Yield Curve Options

New options have been added to Fixed Rate scenario table formulas to allow more flexibility:

IMPROVEMENTS

  • Data table versions can now be selected when editing data table columns in the editor. The version is displayed next to the table name and is also shown in read-only mode with a link to the table.
  • Model point file headers are now case insensitive everywhere they are used.
  • Users can now select text within inputs on the formula builder using the mouse, without dragging the formula.
  • When reading a data table value in the calculation engine, if the value is blank a more appropriate error message indicates that the value cannot be parsed properly.
  • Monthly Select & Ultimate tables are now validated to be in increments of 12.
  • Copy model performance has been improved.
  • Users can be configured to have a completely isolated file repository, separate from the rest of the workspace.
  • Scenario table descriptions are now required and validated as such.
  • Portfolio variables for cash, reinvestment, and sales can now be cleared out, as needed.
  • Small interface updates in Execute/Analyze to give more feedback to users and prevent actions that can no longer be taken.
  • All model point error results are now written to the results even if the error limit is reached.
  • Nested data tables are now automatically versioned along with their referencing table.
  • Minor performance improvements around the saving of variables.
  • Reporting filter values are now case insensitive.

FIXES

  • The ‘Asset Scaling Variable’, when set, no longer appears to be removed in the interface after saving a projection portfolio.
  • Drag & drop is no longer enabled on the debug and relationship views.
  • Fixed an issue with real-time validation messages/counts not always updating properly.
  • Special characters in portfolio, product, and variable names no longer cause issues when navigating to the debug view.
  • Horizontal scroll bar shows up properly for wide formulas in the debug view.
  • Fixed an issue where debug view sometimes did not properly identify array variables, making it difficult to switch between array values.
  • Mortality table formulas that reference variables now show up properly in the relationship and debug views.

OPERATIONS

  • We’ve updated several backend libraries and frameworks for increased performance, stability, and security. Once again, worrying about things you don’t have to!

June 2020: Mortality Table Updates, Dynamic Aggregates + Much More!

Our last update of the quarter, and boy is it a big one! Tons of new features to allow for more flexibility, better performance, and an overall greater experience. We hope you love it as much as we love sharing it!

NEW

Monthly Mortality Tables

Monthly select periods can now be configured for Select & Ultimate tables and referenced in formulas, allowing duration to be specified monthly or annually. This option is also available for Annuity Factor formulas that use mortality tables.

Dynamic/Nested Mortality Tables

There is a new variable data type available called ‘Mortality Table’:

Current data tables that reference mortality tables have been extracted into their own variable of the same name, appended with “Table”, so that you can quickly find the related table.

When setting up new dynamic mortality tables, users must first create a variable that returns the mortality table (usually by reading a data table).  Once that variable is created, it will become available in the mortality table formula’s dropdown.  This allows dynamic selection of mortality tables at run time. This configuration is now also available for annuity factor formulas, allowing even more flexibility.

Dynamic Aggregates + New Aggregation Options

A ‘Mode’ setting has been added to Aggregate formulas, and a new option, ‘Dynamic’, has been added. In ‘Dynamic’ mode, a start index, end index, and step can be specified, allowing users to create a loop that calculates the operand formula at each step and then aggregates the results.

New aggregate options ‘Average’, ‘Summation’, and ‘Product’ have been added to both modes, allowing users to average, add, and multiply the results together, respectively.

Inside the dynamic operand formula, a new system variable is available called ‘Current Index’ to allow referencing of the current index within the loop.

Other New Features

  • A new field on model point field configuration allows users to specify if a field is required or not. This prevents validation errors when certain fields are not always needed, and enables users to omit entire columns in files, or allow individual rows to have no value for that field.
  • A new parameter, Time, is available on scenario table reads, allowing for scenario reads at time indexes other than the current time index.
  • Projection ID is now available on the projection details in the Execute & Analyze modules for easy access when building reports.
  • Projection Name is now an available field in the reports.

IMPROVEMENTS

Variable Debug View

  • Scenario number can now be changed via a dropdown to quickly access other scenarios.
  • The links to tables in the formula builder now link to the actual data table used in the run, when available, instead of the table structure.
  • The currently selected variable name is now shown above the formula view for reference.
  • Fixed alignment of display values that were sometimes misaligned.

Projection Virtual Folders

  • Folders can now be viewed on projection details and edited directly via a new control in the edit projection dialog.
  • Virtual folders are now copied when duplicating and/or re-running a projection, so that the new projection remains in the same folders as the original.
  • Virtual folders are now sorted alphabetically in the sidebar.

Formula Builder

  • Multiple formulas within a group can now be selected and dragged & dropped together.
  • Product/Portfolio aggregates now indicate in the formula builder when there are no longer any variables to aggregate, showing the name of the variable originally referenced.

Miscellaneous

  • Users can now download more than the 5000 row limit in reports. If you need this functionality, please contact your account rep to have this enabled in your workspace.
  • File versions for investment & sales files on projections are now tracked so the original file version can be viewed.
  • Cancelled projections now appear in the Analyze module’s projection list.
  • Improved error reporting when reading from a table that is missing a nested mortality table.
  • The ‘Calculate All Variables‘ projection setting has been removed to avoid confusion. When troubleshooting results, please use the ‘Output All Results’ option to see everything that was calculated.
  • We’ve improved the performance of the calculation engine, including improvements when ‘Output All Results’ is enabled.
  • We’ve improved the performance of variable, table, and model validation.
  • Minor stability improvements for transient errors/network instability within the calculation engine.
  • The ‘Convert to model point field’ option has been removed for system product variables.
  • Product variables that were copied from system variables can now be deleted.
  • Model point fields are now sorted alphabetically in the Model Point Filters dropdown.
  • Product sets are now sorted alphabetically wherever they appear in list form.

FIXES

  • Removed “dead spots” in the formula builder operator control that sometimes did not activate the menu.
  • Data tables can now be properly converted from non-file tables to file-only tables.
  • Fixed issues when being logged out on multiple windows and attempting to log back in on more than one of them.
  • Static model point errors when running with ‘Output All Results’ enabled now properly propagate up to the projection level error status.
  • Fixed validation error message in calculation engine run logs when file only data tables are missing column headers.
  • File-only data tables can now be included when copying a model.
  • Fixed performance when removing a filter from a large variable list.
  • DateDiff functions where one date is near the minimum/maximum possible value no longer cause an error.
  • Fixed an ‘unknown’ error message sometimes caused while logging an infinite loop error.
  • Comparison screens no longer show old versions of data tables.
  • Fixed an issue causing certain negative time period results to be written twice when ‘Output All Results’ is enabled.
  • Fixed an issue where self-referencing array variables were not being marked as array variables in certain situations in the interface.
  • Renaming a file in the file manager no longer causes notes to be lost.

OPERATIONS

  • As always, we continue to upgrade our backend libraries and technologies to stay up-to-date with the latest patches and updates for performance and security reasons. Isn’t it nice to not have to worry about that stuff?!

May 2020: Projection Organization, Improved Formula Drag & Drop + Insert, and Debugger Relationship View

NEW

Projection Virtual Folders

Introducing the new way to organize projections… virtual folders! Much like a file structure, projections can now be dragged into virtual folders in the sidebar, and can even be associated with multiple folders for increased flexibility when organizing.

Improved Formula Builder Drag & Drop

Drag & Drop in the formula builder has been overhauled for an improved feel and to add some new capabilities.

  • Improvements have been made to make the dragging feel more physical and intuitive.
  • Formula tokens can now be dropped at the end of nested formulas (such as inside a time index formula).
  • Inactive tokens can now be dragged, which enables dragging from any level of nested formulas without activating each parent.
  • Formula tokens can be dropped on either side of operators, thereby preserving the operator on the appropriate side.

Formula Builder Insert Operator

A new ‘Insert’ operator has been added to allow insertion of a new formula in the middle of two formulas, removing the extra step of moving the formula after it’s been created.

Debugger – Relationship View

The relationship view you all know and love from the variable editors has been added to the debugging views, to help users more quickly navigate the dependency tree with a visual aid.

Nested Table Tracking

All tables used by a projection are now tracked, including nested tables that are read during run time. This allows users to see exactly which tables were actually referenced and consumed during a run, and displays in a new section called “Tables Used” on the Inputs Used page of a projection result.

IMPROVEMENTS

  • IRR formulas now support including the current period cash flows through a new “Behavior” field in the settings.
  • Boolean constants now display with a toggle in the formula builder, making setting these formulas much faster.
  • Array indexes for Single Value aggregates can now be provided using a formula.
  • When an infinite loop occurs in the calculation engine, the run logs now display all variables suspected to be involved in the infinite loop, helping users debug infinite loops much faster.
  • Newly purchased assets are now included when calculating product aggregates after investment.
  • File name and version is now displayed on File Only data tables.
  • Validation performance has been improved for table structures and data tables.
  • More context is now provided when attempting an invalid Portfolio to Company to Portfolio aggregate dependency chain, to let users more quickly fix the problem.
  • Mortality Table select period limit has been increased to 250 and performance updates have been made when creating/updating mortality tables.
  • Investment-related portfolio variables allow references to after-investment product aggregate results but log an error in the run logs if attempting to calculate at the current time period (or future time periods).
  • The model name on projections is now a link back to the original model, for quick navigation.
  • Users are now automatically directed to the login page when their session times out, for increased security and clarity around what’s happening.
  • Model name now appears in the confirmation dialog when deleting a model.

FIXES

  • Variables with an empty product or portfolio aggregate can now be saved (will result in a validation error).
  • Fixed a display issue with multi-scenario runs displaying an incorrect run status in certain situations.
  • Users can now switch between variables in the debug view that depend on two different arrays without issues.
  • Initial Asset Scaling now properly updates the Result After Investment on product level aggregates.
  • Table column index read methods are now saved properly when the table is newly versioned, preventing an extra click to save the read method.
  • Run logs are now accessible if a single scenario is run but it’s not scenario #1.
  • Shared dashboards are now properly updated when switching between workspaces.
  • Fixed link in the welcome email to the supported browser support page.

April 2020: New Debugger, Investment/Sales Flexibility, and Data Type Conversion Formula

We hope everyone is adjusting to this new normal and staying well during these unprecedented times. Our team is hunkered down and working from home, and we continue to work harder than ever to push out new features for our users. We hope you enjoy, and if you have any questions, please reach out to your dedicated account rep!

NEW

Debug View

Clicking on any result in the dashboards (when filtered down to a single calculation result) opens the new debug view in a new window/tab. This in-line debugger allows users to easily see the results of the current variable along with the variables it depends on. Quickly navigate through time periods, array values, etc to quickly debug problems with your model (that might not even be throwing an error!). Read more on our support site.

  • Access this page from the results view (by clicking on the result value) or the error summary (by clicking on the error and then ‘Debug Formula’)
  • Quickly navigate between variables using the autocomplete dropdown at the top of the page, or by clicking variable results inside the formula view.
  • Navigate to a particular time index, or browse results by incrementing/decrementing.
  • Quickly change array values for variables that depend on arrays to compare results.

Investment/Sales Flexibility

To allow for the maximum amount of flexibility when implementing cash management, we’ve decided to do away with the concept of “Cash Management Strategies” and instead offer users the flexibility to define variables to control this. As a result, Cash Management Strategies and Legal Entities have been removed from the system since they are no longer needed. They have been replaced by three variables on each portfolio: Cash Before Investment, Asset Purchase Amount, and Asset Sales Amount. New Business Sales Amount still exists and functions as it did before, with the added flexibility of being able to apply new business with any desired frequency.

New Business and Investment will happen in the same processing order during calculation as they did before, but now with the ability to handle frequency, amounts, etc in any way you choose.

Data Type Convert Formula

A new formula exists in the formula builder to convert (almost) any data type to (almost) any other data type. This can be helpful when doing comparisons of two different types.

As part of this change, we’ve reorganized the functions within the formula builder, splitting financial functions from utility functions. See below for the new organization.

IMPROVEMENTS

  • The maximum cold start wait time for a new VM to spin up when queueing a projection has been reduced from approximately 10-12 minutes to approximately 2-2.5 minutes, because no one likes waiting!
  • The tenant/workspace field has been removed on login to make things simpler. Instead, users with access to multiple workspaces will select the workspace they want on a new page before the login flow completes. Users with access to only one workspace just get to type less when logging in!
  • A new help menu has been added with options for accessing the Help Center, opening a new Support Ticket, and E-mailing support directly.
  • Model validation performance has been improved to help with stability issues involving the error count.
  • The division sign on the formula builder has been changed to ‘/’ to make it easier to distinguish from other operators.
  • When the Current Date formula fails to calculate due to an out of range issue, a more informative message is logged in the run logs.
  • Model point file templates now export the columns in alphabetical order, to match the interface.
  • Performance improvements during various entity deletion.
  • Performance improvements when queueing a large number of scenarios.
  • Minor text and styling updates.

FIXES

  • Formulas that are changed from Data Table data type to something else can now be referenced properly in the formula builder without having to clear out the table structure selection from the variable.
  • Table index names now always properly appear in the formula within the relationship view, and the formula now shows up properly in Internet Explorer as well.
  • Tables no longer referenced by a model no longer occasionally appear in the table delete confirmation dialog.
  • Stability fixes around array variable detection
  • Table structure columns no longer get duplicated in certain situations.
  • Minor stability fixes on the validation details page.

OPERATIONS

  • Various updates to backend libraries and code improvements for increased security, maintainability, and performance.
  • We’ve made several backend updates to help us service our clients more effectively including the ability to troubleshoot issues faster as well as have finer control over enabled features.

March 2020: Model Point Aliases & Filters, Versioning Updates, and UI/Performance Improvements

We hope everyone is staying safe & healthy during this uncertain time around the globe. That said, we are still working as hard as ever to bring you the best features possible to make your lives easy and your work more efficient, whether that be from an office or the comfort of your own home. Enjoy!

NEW

Model Point Field Aliases

Any number of aliases can now be provided when configuring model point fields to allow for more flexibility of inputs, particularly from different sources. This should eliminate many cases where data manipulation was necessary before importing.

Model Point Filters

A new section has been added to the Product edit modal on Projections that allows users to specify filters for the model point file. This allows the configuration of any number of field values to use to filter the model point file, in order to run subsets of the model points in the file.

Table & File Versioning

Older versions of data tables can now be viewed in read-only mode in the table editor by selecting the version in the new version dropdown.

Across the site, we now display the referenced version of every file reference, in addition to displaying the latest version number in the File Manager.

Product Aggregate Timing

Product aggregates can now be referenced before or after investment occurs, giving more flexibility in the way calculations are structured.

IMPROVEMENTS

Formula Builder Updates

  • Operators are now cleared out after a drag & drop operation to make it more obvious that the operator needs attention.
  • We’ve consolidated Array Value constants into the Constants formula to streamline the most common use cases.
  • Empty string constants are now allowed.

Miscellaneous Improvements

  • We’ve made significant performance improvements around saving variables and formulas.
  • AND/OR conditions are now short-circuited as soon as possible to avoid extra processing.
  • When attempting to import an excel file with cell formula errors, users are now presented with a meaningful and actionable validation message.
  • “Error Limit Reached” status now only considers logged errors when incrementing the error count, instead of all errors in a variable chain.

FIXES

  • We’ve made some stability improvements to the Formula Builder.
  • Fixed navigation to data tables from projections/results views.
  • Fixed a couple of issues on templates/projection pages around editing data tables and removing portfolios in certain situations.
  • Fixed uncommon edge case date parsing issues from Excel files.
  • Sheet names from Excel files are now properly maintained during model import.
  • Roots of negative numbers properly report an error during processing instead of logging the result as ‘NaN’.
  • Fixed calculation engine issues around portfolio variable references to non-time-indexed product aggregates in static mode as well as handling of empty model point field values inside IF conditions.

OPERATIONS

  • We’ve made some backend changes/improvements that will allow us to diagnose and fix issues users are experiencing even faster. We aim to be the most responsive vendor in the industry.
  • As always, we’ve made some library updates and configurations to keep the system in tip-top shape both from a performance and security perspective.

February 2020: Data Table Versioning, New Debugging Options + More

NEW

Data Table Versioning

Data tables are now automatically versioned, as needed.  This ensures that projections always point to the data tables with the original data they were using at run time.  These older tables can then be viewed in read-only mode in the editor by clicking on the table name from the projection.  Note that this does not yet apply to tables that are nested within other tables.

Tables will be automatically updated to the latest version on a projection when duplicating or re-running the projection. Older versions of tables are also now available for selection both on templates and projections, to enable users to replicate older results.

IRR Error Handling + Defaults

We’ve added the ability to warn or even ignore IRR failures (instead of causing an error), with a fallback formula to be used in the case of non-convergence. 

Projection Setting – Output All Results

A new setting, “Output All Results”, has been added to projections and templates.  This setting will likely be much more common than other options going forward when debugging/troubleshooting.  This setting enables all variables that were calculated to be output to the reporting module, including results that were calculated before/after the projection period, allowing for easier troubleshooting, particularly for liabilities that project back to issue date or forward past the end of the projection.  Note that this setting is very performance-intensive, and should only be used for troubleshooting purposes.

Projection Error Limit

An error limit has been added to projections and templates within the run settings dialog. This error limit allows the projection to quickly fail in the case in which there are a large number of errors, to save run time. The default value has been set to 100 for all existing projections and can be set between 0 and 1000.

IMPROVEMENTS

  • Projection names and tags can now be edited in any status, to allow for better organization of projection results.
  • Files can now be renamed in the file manager.
  • ‘Select All’ functionality has been improved in the Model Execution and Model Results module so that if using a tag filter, only those projections are selected. A selection count has also been added to make this behavior more clear.
  • Duplicate error messages for the same variable chain have been eliminated in the run logs to make it easier to see all relevant errors.
  • The column headers on the data and mortality table editors are now fixed.
  • Improved error messaging around invalid values when calculating scenario tables and attempting to perform the modulus operator on a zero denominator.
  • Improved validation messaging around product output groupings, and automatically delete an output grouping upon deletion of the last variable in the grouping.
  • Validation messages around various Display Precision fields has been improved to make it easier to understand what needs to be fixed.
  • The projection/template setting that was previously called “Output All Variables” has been renamed “Calculate All Variables” to clarify its intent.  No changes have been made to how this behaves.
  • Added instructions to the table editing landing page to make it more clear how to proceed.
  • Minor improvements around navigation for ease-of-use.

FIXES

  • Fixed behavior when copying and pasting percentage values from excel into the data table editor.
  • Tooltips now appear again on icons in the formula builder headers to show what each icon means.
  • Empty values in table index results now report a proper error instead of an unknown error in the run logs.
  • Fixed some issues around the array value system variable, array variables referenced across levels, using numbers as array values, and caching of array variables during runs.
  • The Force Recalculation option now works appropriately when a product is run in static mode.
  • Fixed an issue that sometimes caused products to not be copyable if they contained array variables.
  • Improved behavior when changing variables between time-indexed and not time-indexed.
  • Fixed the ability to save a model point reference with no model point specified (this will result in a validation message).

OPERATIONS

  • We’ve upgraded some backend libraries and made some changes to improve stability and performance in various areas of the application.