Variables & linked models

Instead of a single model with all of your variables and formulas, you can structure your work into separate, smaller models, and import variables between them.

There are a few benefits to working with smaller, linked models:

  1. There'll be less scrolling around and less potential for confusion for you as you build out your models.
  2. It'll be easier for your team to work with separate models. For example, your HR team can work on your Headcount Plan without worrying about your Revenue model.
  3. You can have different permissions for each model. For example you may want each department head to access the company's P&L model, without being able to see the underlying salary data for each employee (this will live in a separate Headcount model).
  4. Linked models can have a different time-granularity. For example, your Contracts model could be of daily granularity, while your P&L remains monthly.

Once you link models together, you can reference variables in linked models in your formulas, and you can import variables and visuals from one into another.

You can think of a model in Causal kind of like a tab in a spreadsheet, and the group of linked models as an entire spreadsheet/workbook. The key difference is that you can set different permissions on each model, despite them being linked.

Linking models

When in a model, click on the + in the left-hand-side panel, and link to an existing or new model.

Referencing linked model variables in formulas

Once you've linked models, you can easily refer to any of the variables in that linked model when you're writing a formula, just by typing its name. The only difference is that it will show up as a green variable within a formula (see variable types), and if you hover over the variable you will see which model it is coming from (and Cmd/Ctrl+Click will open the model).

Importing a variable

If you wish to bring in the entire variable from a linked model, within your current model, you can import the variable. This will allow you to visually see (but not edit!) the values of the imported variable across time, alongside the rest of the variables in the current model.

To do this - hit New Variable and then select Import variable. You can type in the name of the variable or the model that its in (even if it isn't linked yet).

It will now show up in the spreadsheet as a variable, and will be differentiated by its blue label/name.

Once you've imported a variable, you can broadly use it like any other variable in your model. You can use it in formulas, and you can add it to Visuals. The main restriction is that you can't directly modify an imported variable's attributes, except for its name and description. This variable gets the rest of its attributes from the model in which it "lives".

If you want to make changes to an imported variable, double-click on the variable's arrow icon in the spreadsheet to "zoom in" to its model, and make the changes in the original model.

Importing charts

You can also import charts - see more here.