Modeloptic v2 Release

Luke Harris
Co-Founder, Modeloptic

Today we're proud to announce that Modeloptic v2 is now live. This release brings some major upgrades (many of which were highly requested), and we'll walk through some of the more salient ones below.

Modeloptic now has a greatly expanded ability to handle complex forecasts, and we've added several features that will make working in Modeloptic much more efficient.

Even if you're not a finance pro though, we've gone to great lengths to make sure Modeloptic continues to be intuitive and easy to use for you as well.

Advanced Forecasting: Table-Centric Structure

One of the core concepts underpinning how Modeloptic (and how financial modeling in general) works is the idea of a table. Modeloptic v2 gives you powerful tools for building, managing, and composing these tables.

Beyond the financial statements (which are their own special type of table), Modeloptic now contains the following table types:

Free-Form Tables:

In a Free-Form table, you can add whatever rows you want, and link them together however you want. This is how forecasting is typically done in Excel (and if you're a current Modeloptic user, this is what you'd do in what was previously called a "Forecast Module").

If you have a simple forecast or otherwise prefer this mode of forecasting, you're free to stick to just Free-Form tables if you'd like. For anything beyond the basics though, utilizing the below table types where appropriate will generally be advantageous (like when you need to forecast sales for more than one product, for example).

Standard & One-to-One Tables:

These table types are used for forecasting a collection of similar items (like employees, customers, product SKUs, etc), and for operating on them as a group instead of as individual lines.

A One-to-One table functions like a Standard table, with the exception that you choose a parent Standard table to reference and the row structure in the One-to-One table will then mirror the structure of the target table. When rows are added, deleted, reordered, or renamed in a parent Standard table, the change is automatically reflected in all child One-to-One tables as well.

Having the ability to operate on a group of items in aggregate this way and to have them stay in sync automatically is a powerful capability that allows you to forecast at a much higher level of abstraction than you'd be able to otherwise.

Analysis Tables:

These are used for performing aggregations of items in another table, like aggregating product sales by channel.

If you have a Revenue by Product table that looks like the above, an analysis table that references it and aggregates on the "Channel" column would look like this:

List-Scoped Tables:

This is a special type of table that lets you scope to an individual item in a set of standard or one-to-one tables, like seeing the forecast detail for a single product:

These table types and the capabilities they afford let you operate at a much higher level when building and maintaining your model versus needing to manually edit every individual cell across multiple tabs like Excel requires. Unless you have an extremely simple model, Modeloptic becomes an invaluable tool for managing complexity.

For a more detailed example of how powerful these tables can be, see our walkthrough here.

For a more comprehensive run down on all of these new forecasting capabilities, see our documentation here.

New Grid Structure & Hotkeys

To complement these new capabilities, we've implemented a new grid system that greatly improves usability.

If you're a finance pro, you're surely used to living in Excel or Google Sheets, and are therefore familiar with the power and speed that a cell cursor and hotkeys that are controlled via the keyboard can provide. We've now implemented comparable functionality in Modeloptic. All of the tables shown above utilize the grid system, and you can place the cursor in any cell like you would in Excel.

See here for a full list of the available hotkeys.

Updated Model Navigation

Previously, Modeloptic had separate pages for forecasting personnel expense and revenue by customer. Now your whole model lives on the "Model" page.

On this page, the Table Navigation screen lets you see all of the components in your current projection set, which you can access by clicking on the name of the active table in the top left (or by using the "q" hotkey):

The Table Navigation screen then looks like this:

You can use the arrow keys on your keyboard to navigate to the table of interest (or click on the name of any table).

Clicking the gear icon next to the name of a table in either in the Table Navigation view or back on the main page will open the settings for that table (for ones that are editable).

If you'd like to add new tables or reorganize your table layout, that can be done by using the "Edit Tables" button in the bottom left of the Table Navigation screen.

Basic vs Advanced Mode Editing

We've introduced a new "Advanced Mode" for editing logic in your model. This mode lets you make quicker edits to your forecast logic, and also lets you make edits in bulk. Click on the "Advanced Mode" toggle in the top center to enable it:

You'll then see a screen that looks like this:

In this mode, right clicking (or using the "/" hotkey) will open a context menu offering additional functionality:

If you have multiple lines selected, you can perform bulk move, reorder, delete, or insert operations.

Improved Formula Editing

The experience of editing formulas has also been improved. Click on any formula to edit it, and that will open up a screen that looks like this:

You'll see several new options on this screen for when you're utilizing some of Modeloptic's more advanced features, like referencing values defined in custom columns and performing lookups on other tables. But otherwise, this screen is simpler than it might look at first glance: You still edit your formula as usual at the top, and the rest is simply support for creating references to other components of your model.

Link & Validation Error Tracing

Wherever you see a formula reference, clicking on the "Follow Link" button will take you to the location of what's being referenced:

This is comparable to Excel's "Trace Precedents" functionality, and is very useful for helping you understand and navigate your model.

We've added similar functionality to validation errors. As before, if you have a validation error somewhere, opening the "Validation Errors" screen will tell you where the errors are:

Clicking on a validation error will navigate you to the place where the error exists so you can easily address it.

Improved Personnel Forecasting

Modeloptic now allows you to configure your personnel forecast to align with the specific nuances of your company. For example, if you'd like to forecast different bonus amounts depending on a person's department, that can easily be accommodated.

To help facilitate this, we have a new preset functionality for creating a variety of personnel builds, which you can find by opening Table Navigation screen, clicking "Edit Tables", and scrolling to the bottom of the screen:

Clicking "Generate" here will create a new set of tables that reflect the options you specify, which you can then populate with your own staff list and hiring plan.

Unsaved Changes Alerts

On any page where saving is allowed, Modeloptic will now notify you if you have any unsaved changes on the page. If you haven't made any changes, the save button will be grayed out:

Once you make a change, the save button will then show as active:

If you have unsaved changes and try to navigate away from the page, you'll first be notified:

This should help prevent any unintentional lost work, and remind you if you've made any changes or not.

Expanded Financial Statement Flexibility

Previously, the chart of accounts was restricted to 3 levels of hierarchy on the income statement and 2 levels on the balance sheet and statement of cash flows. Modeloptic can now handle as much hierarchy as you'd like.

The financial statements can now also be customized as desired. Modeloptic can accommodate whatever structure makes sense for your company (like adding an additional section for "Direct Costs" on the income statement, for example), and you can show specialized metrics like Contribution Margin, Adj. EBITDA, or any others as desired directly within the financial statements.

Flexible Multi-Entity Structure

If you're on the Enterprise Plan, Modeloptic now supports an unlimited number of entities. You can organize these entities however you'd like; you're no longer restricted to having a single entity at the top level, for example, so you can do things like create alternative roll-ups of a subset of your entities.

We've added the ability to put forecast logic in any entity, so a consolidation entity can now contain forecast logic instead of simply consolidating its child entities' financial statements.

Modeloptic can also now handle multi-currency support (see more detail below).

Global Tables

The "Global Table" flag can be turned on for any table in your model. This means that:

  1. The table will exist in every projection set
  2. You can set permissions on the table
  3. The row structure will be identical across all projection sets
  4. Historical values can be loaded into the table
  5. The table can be referenced on any of the three reporting pages (Dashboard, Reports, and Variance)

There is a "Permissions Only" variant of a global table where only #1 and #2 above are true. A common use case for that is for personnel expense, where you may want to restrict permissions for some users but want to be able to enter different hiring scenarios in different projection sets (and so therefore don't want an identical row structure across all projection sets).

Reporting Improvements

Our three reporting pages (Dashboard, Reports, and Variance) are all essentially unchanged in this release, with the exception that you can now reference data from any Global Table instead of being limited to just the financial statements and anything defined in Key Metrics.

This lets you, for example, perform variance analysis on various portions of your revenue build.

Historical Data Improvements

Everything related to incorporating external historical data into your instance now lives on the Historical Data page. Previously only your financial data was handled on this page, but all other historical data is now handled on this page as well (including what you would previously have loaded into either the Key Metrics or Customers pages).

This page is now organized into "Data Connections". Any accounting connection you have will live in its own Data Connection, and if you're loading in additional metrics, you'll have a Data Connection for each table that you'd like to provide historical data for.

When you make a new connection (other than for financials), you choose a Target Global Table to indicate which table you'd like to push historical values into, as well as a Connection Type:

External data can be loaded in via Excel like before, but we've also added the ability to load in data from Google Sheets continuously. To do this, scope into any Data Connection and select the "Google Sheets" connection type:

Using a Google Sheet provides several advantages:

  • If you'd like to configure an automated refresh of your external data into Modeloptic, you now have the ability to leverage the tooling available in Google Sheets.
  • It's cloud hosted, so you don't have to maintain a local Excel file, potentially among multiple team members.
  • No file upload is required; you can simply update your values, click the "Retrieve Latest Data" button, and your values will be updated in Modeloptic.

Additionally, when you're using an input method that requires mapping options to be set, you can now do that using the new grid structure, which lets you use the keyboard to apply mappings in bulk if desired.

To learn more about the upgrades made to the Historical Data page, see our documentation here.

Multi-Currency Consolidation Support

Modeloptic now has two means of providing multi-currency consolidation support, depending on whether you'd like to forecast in local currency or forecast in the functional currency.

To forecast in local currency, you can create two entities: One for forecasting in local currency, and another that will reference that entity's financials and apply the relevant conversion rates.

To forecast using the instance's functional currency (assuming the financials that are being imported are denominated in a local currency), you now have the ability to convert the imported financials to the functional currency using the conversion rates you input, and then both the historical and projected sides of the entity can be handled in the functional currency.

Expanded User Management & Permissions

User access can now be managed from the "User Management" page, which can be found under the "Admin" menu:

You now have the ability to control permissions more granularly by setting them at the individual Global Table level if desired. You can learn more about how permissions work here.

Admin users now have the ability to see any user activity that's taken place within their instance. This can be found on the "User Activity" page, also under the "Admin" menu.

Additional Improvements

Several additional changes have gone into this release as well, including the following:

  • Speed & Efficiency
    • Copy/paste works both into and out of any table.
    • In advanced mode, formulas can be copy/pasted and will update using relative references when pasted (similar to Excel's behavior).
    • Hardcode value input fields accept math expressions.
    • Several revenue build presets are available, which can be accessed in Table Navigation, clicking "Edit Tables", and scrolling to the bottom of the screen.
  • Smarter Formula Linkages
    • In multi-entity instances, you can now link to any line item in any entity, not just items defined within financial statements or key metrics.
    • Logic within personnel and customers builds can now link anywhere else in your model, and anywhere else in your model can now link to any line within personnel and customers builds.
    • Formula references within standard and one-to-one tables can optionally use a "Dynamic Offset" when an out-of-period reference is needed that varies by row. For example, if different customers have different payment terms, a dynamic offset can be used to account for that within a table-level formula (versus needing to manually set the period offset in a formula reference defined for every customer individually).
  • Navigation & Workflow
    • When navigating among tables, this activity is recorded by the browser's history functionality, so the browser's back button will now take you to the previous table (and likewise for forward navigation).
    • Free-Form tables have a new row "Type" option called "Sub-Table", which lets you pull in all the lines from the target table into the current table (with optional filters applied), removing the need to manually recreate and link to each row in the table of interest. This is useful, for example, when creating a summary view of various pieces of your model.
  • Data & Configuration
    • On the Historical Data page, when using the Excel connection type, the name of the uploaded file and when it was last uploaded is shown, and a link is available to re-download the file.
    • On the Model page, in the Table Settings screen, an option is available to upload data into any table from Excel, which can be used to add, delete, or update values in the target table (and any related one-to-one tables, if any).
    • Usability has been improved on the Configuration page. Accounts can be added above/below existing accounts (instead of just at the bottom of a section), and accounts (and descendants) can be cloned, deleted, and moved to other sections.

For a more detailed run down on all of these new features, see our documentation here.

Don't miss any updates
Join us to receive the latest news, articles, and updates from Modeloptic.