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.

January 2020: Option Pricing, Performance Improvements + More

We hope everyone is having a fantastic start to 2020 (and that your end-of-year work is going smoothly!). If one of your new year’s resolutions is to save some time, then we have some updates that just might help!

Check out these features and fixes we’ve rolled out to the SLOPE platform in January! We hope you enjoy them, stay tuned for more soon.

NEW

  • Introducing the Option Price Formula! This formula allows users to perform option pricing using the Black-Scholes model and is available under the Utility Functions menu within the Formula Builder.

IMPROVEMENTS

  • Compute Environments have been simplified to a dropdown representing the number of CPU cores for each scenario. This should make things easier to understand and directly correlates with how run times are tracked in “core-hours”.
  • When duplicating a projection, the default option is now to delete the old results, helping keep the Execution and Results areas of the application clean of old, unneeded results. This option can simply be unchecked to allow retention of the old results.
  • Performance has been improved when selecting worksheets within larger excel files.
  • Empty strings are now considered valid when importing a model point file.
  • An informational icon now explains the purpose of the ‘Number of Points’ input on the Rolling Value calculation.
  • Snapshots, Model Copies, and Imports now show the Created By user as the user who performed the action, instead of the original creator of the model.

FIXES

  • We fixed some quirks in the interface that sometimes made things hard to click or resulted in an unintuitive state.
  • Fixed a navigation bug in Internet Explorer

OPERATIONS

  • We’ve made large architectural changes to the underlying data storage components in the reporting module, allowing for better performance, scalability, stability, and security.

Release 2019.22

New year; new features! This is the last release with features from 2019. We’re looking forward to continuing to roll out great features for our users during 2020. Going forward, we’ll start only sending out these updates monthly to reduce the number of emails you get!

NEW

  • Introducing file-only data tables! This feature allows users to add tables beyond the 100,000-row limit by creating a table that reads from a file during calculation engine runtime. The records are only loaded into memory during execution of the projection.
Import dialog with new ‘File Only’ option.
Data table editor for file-only tables. Allows for changing of column settings, but not modification of row/cell data.

IMPROVEMENTS

  • Column read methods are now maintained when importing from a file over top of an existing data table.

FIXES

  • Fixed an intermittent error during loading of larger data tables during calculation engine execution.
  • Files with a ‘.xlsm’ extension now allow for worksheet selection within the excel workbook.
  • Fixed an issue where changes appeared in Change Management for scenario tables between models that had not actually been changed.
  • Fixed an intermittent error that occurred when using the Goal Seek function on larger machine sizes.

Release 2019.21

This release is focused on improving the user experience and system performance around large amounts of data, because no one likes waiting for things to load!

NEW

The file manager and related file upload functionality has been completely overhauled. This change results in faster upload times, an increased file size limit, and new features such as drag & drop, pausing, resuming, and retrying.

File upload drag & drop landing zone.
File uploads in progress in the File Manager.
In-line file uploads

IMPROVEMENTS

  • Improved data table import performance.
  • Data tables up to 100,000 rows can now be imported.
  • Significant performance improvements around loading long projection run logs, particularly if a large number of errors were logged.
  • The data table editor is now limited to editing the first 1000 rows, to improve the speed of the editor. Users can edit more rows by exporting the table, editing, and re-importing over top of the existing table.

Release 2019.20

IMPROVEMENTS

  • We’ve upgraded some underlying technologies in the calculation engine resulting in some minor performance improvements, increased security, and improved stability.
  • When copying a model, the various settings on projection templates are now maintained.

FIXES

  • Fixed an issue in the formula builder where certain actions caused multiple formulas to be active at one time, resulting in difficulty interacting with other elements in the formula.
  • Fixed an issue causing certain projections to use more memory than necessary when executing within the calculation engine.

Release 2019.19

Introducing… nested data tables! Now, you can create tables that reference other tables (similar to how nested mortality tables work). This allows for drastically simplified management of certain information.

NEW

Nested Data Tables

  • First, a new column type of “Data Table” is available when configuring table structure columns.
  • These columns can then be configured to point to individual data tables within the assumption management module using the table editor.
  • Now, a new type of variable (product, portfolio, and company) return type is available. Specify a variable with a return type of “Data Table” to make use of a nested table structure. Within this variable, you can return the column value you created in the previous step.
  • The last step is to specify the data table variable within a table reference inside the formula builder (the default option will still use the projection table mapping). This allows the calculation engine to determine the data table at run time using the configured nested data tables.

Reporting Module

  • The default table visualization has been updated. The original table visualization is still available as “Table (Legacy)”. This feature will be available as of Nov 21st.

IMPROVEMENTS

  • Security is of utmost importance here at Slope. As such, we’ve rolled out several back-end changes this release for even further increased security.
  • Display precision on variables at all levels is now only shown if the variable is of type ‘Decimal’.
  • Models are now sorted by name in the Compare Models and Merge Models interfaces.

Release 2019.18

We’ve rolled out our rebranded look to the SLOPE platform! We hope you enjoy this modernization to our brand.

As part of our ongoing effort to better support our clients, we’ve also rolled out a live chat feature on the help page. Users can navigate to this page from the User menu in the upper right-hand corner, or by going straight to help.slopesoftware.com. The icon pictured below will appear in the lower right-hand corner and allow users to chat with a SLOPE representative in real-time.