Silico User Guide

Silico is a powerful, user-friendly online tool for building working, quantified models of any business challenge or plan. (See our business modelling courses on how to build and use these models). The video clips in this Guide are a reference for how to use the app’s key features. Additional clips will be added. Bookmark this page as a quick-access guide while using the app.

  • Each item’s text alone may be all you need – if not, watch the video.
  • Videos are ½ to 2 minutes each (except the first 10-minute demo).  
  • Each video is captioned, in case you cannot use audio.  
  • Find topics with the index below, or use browser-search: Ctrl-F.  
  • Go to silico.app to get the app (clip-2 below explains sign-up)

1. A simple credit-card model

Follow along with this demo to build a simple model of how spending, interest and repayments change the balance on a credit card.

Create and link these items and give them values and calculations to show how things change over 24 months.

Small charts show how every item's values rise or fall over time when you change anything in the model. 

Set up scenarios to explore alternative plans to keep your credit card debt under control.

2. Sign up for SILICO

This shows the basic elements of a working model - Variables, Stocks, Flows and the causal links between them.

Go to silico.app. Click 'Create Free Account'. Enter your email and choose a password. Click 'Continue' and you will get a verification email with a link to your account.

3. Create a new Project

A project holds one or more related models that share the same time-scale.

Log in at silico.app - the project-Dashboard opens. Click 'New Project'.

Complete the Project name and description. Click 'Create' and the new project opens.

4. Project properties

In the Dashboard, click the [...] options button to edit a Project's name, description and the Readme text that viewers of the Project's models will see. Also archive the Project or make it public, and manage its sharing links. (Sharing can also be accessed in an open Project)

5. The Project screen

What you see when you open a Project from the Dashboard.

... the workspace where models are built

... the menu bar for Project settings, sharing and versions

... the side-panel showing models, data and other items in the Project, and managing scenarios

... the time-bar for focusing on specific periods and points-in-time within the Project's overall time-scale

6. Project time-settings

Click Project | Settings to set the start-time, end-time and time-units for the model, choosing either real dates or undefined time-units.

7. Add a Variable

A Variable is like a spreadsheet column with its name in the top cell and each period's values running down the cells below. Hit V to add a Variable at the pointer location, then:

... click to select the Variable and open its Inspector panel (see next item)

... give it a name that other items will use in their calculations

... click-drag the Variable's circle-icon to move it

... click on clear workspace to de-select the Variable and close its Inspector panel

8. The Inspector panel

Click any item to open its Inspector panel, which shows

... the item's name and optional stub-text

... a Formula to calculate its time-values

... a chart showing how those values change over time

... options to show/hide the item's mini-chart on the workspace

... two data-series - one for 'actual' values that you copy or sketch into the item's chart and one for its simulated values, calculated from the Formula

9. Enter and use real-world 'Actual' data

Click any item to open its Inspector panel

... 'sketch' with the mouse Actual time-series values or copy from another item or the Variable's own Simulated values

... data from a spreadsheet must be unformatted, with no thousands' separators

... Formula-generated Simulated values take precedence over the Actual values and are used to calculate other items

... use '@actual' in the Formula to calculate with the Actual values and define Actual values themselves with a formula

10. Working with mini-charts

Mini-charts help validate the model and highlight errors and their causes. See how to:

... to set the charts' scale and over-ride auto-scaling

... move or re-size the mini-charts

... hide a mini-chart, but only if the item is a constant or if this part of the model is validated

11. Link objects to enable calculations

Objects values are calculated from other items that are linked to them.

Click-hold in the 'cloud' near a source object and drag the arrow until it sticks to the target

Release the button to complete the link : red links show that the source object is not yet used to calculate the target's values

Drag anywhere on the link to re-shape it; double-click to delete

Click the target object to see the linked items ready to be used in its Formula

12. Add a Formula to calculate values

Each item can have a value, or Formula calculating its values from linked items

Click to open the object's Inspector, which shows any linked items. (Unlinked items can also be used - see #15)

Single-click to add a highlighted item to the Formula and use standard math symbols (Normal calculation-order applies)

Click the [...] symbol to see items already used in the Formula and use them again.

The Formula only sets the initial value for a Stock - see #22-23

13. Select, move, delete, copy and arrange objects

Drag an object's icon to move it. Delete to remove the object - double-click to delete links (Formulae still work without links)

Drag around a selection and drag any object icon to move the selection. Copy/paste to duplicate the whole selection, including relative Formulae. TIP: complete and validate whole sections of model before copying to minimise rework and errors

To make models easy to read, align related items vertically, use straight links, keep items close together and hide unnecessary mini-charts

14. Document a Project, its models and objects

Add documentation at 3 levels:

1. Add Readme explanation for the whole Project - in the Dashboard, click the project options [...].choose 'Project', enter Readme text. 

2. Add model Notes, using Markdown formatting (syntax at sdl.re/shmarkdown) - the model's purpose, issues it displays and time-scale

3. Use Objects' Note field to specify the object and its data sources, explain its Formula, and keep old versions of the Formula

15. Using unlinked objects

Link arrows make clear what-causes-what and make it hard to make reference errors! But you can use unlinked items in a Variable's Formula:

Deleting a link (double-click) still leaves a valid Formula.

Add an unlinked item in a Formula
 - type the quote key ["] .. all model items are listed
 - type characters you think are in the item you want
 - auto-complete displays only matching items
 - click the desired item to add it to the Formula 

To do this in the middle of a Formula, type " " and position the cursor between the quote marks.

16. Fixing problems .. and using Project versions

Select an item or drag around a selection - hit Delete. Ctrl-Z undoes any number of changes to the last Save point. Ctrl-Y redoes any steps.

Click the Versions drop-down to go back to previously-saved versions of the project.
Or ... discard the latest edits since the Project was last saved :

 - click to return to the Dashboard ignoring the Save reminder
 - in the Dashboard, click the Project's [...] options
 - click Close, then 'Discard changes'

17. Formula over-rides Actuals data

The Formula and Actuals-sketch are two different instructions for SILICO to work out the Simulated values - so any Formula takes priority. The Actuals are still shown as a dashed line, but both the Variable itself and anything that depends on the Variable use the Formula.

It is often useful to compare results with outcomes driven by Actuals ... in a results-item's Data drop-down, select and copy the Simulated column and paste into the Actuals column. 

Use '@actual' in the Formula to calculate with the Actuals values.

18. Copy spreadsheet data into the Actual series

Organise your spreadsheet data in a column - and unformatted.

Copy the data-cells only (not any heading-cell)

In a SILICO object
 - open the Data drop-down
 - select the top cell of the Actual column and paste the data
If there is no Formula, the Simulated values are set to match.
You can also paste small ranges of values into parts of the Actual column.

19. Copy model results out to a spreadsheet

To copy any object's time-series values to a spreadsheet :

Select the object and open its Data drop-down

Click both Selected and Actual headings then Ctrl-C

Switch to the spreadsheet and paste the data

20. Keep Simulated results as Actuals for comparison

It is often useful to keep Simulated results for comparison

Select the object and open its Data drop-down

Click the Selected column heading, then Ctrl-C

Click the first cell of the Actual column, then Ctrl-V

The object then displays the result of any change to other items against a dashed line for that saved result.

21. Manipulate the Actuals data

The Actual time-series for an object is itself an internal Variable - @actual

With no Formula, the Simulated values are set equal to @actual

Use a Formula like, say, '@actual * 2' to set the Simulated values to 2-times the Actuals.

Optionally, set the Actual values themselves with a Formula

Click the ACTUAL tab above the Inspector chart 

Click 'Define using Formula' and enter a Formula

Un-check this option to use the sketched or copied Actuals again

22. What is a Stock? 

"Stocks" - things that fill up and drain away over time - are fundamental to how the real world works.

Cash today = cash 1 month ago plus cash in minus cash out during the month

Business examples: customers, staff, product range, capacity, debt, inventory, reputation ...

Models must use Stock objects for these items.

Spreadsheets do not make Stocks explicit, but can still calculate correctly - e.g. using columns for 'current cash', cash-in, and cash-out.

23. Add a Stock to the model

Hit the S key - or right-click and click 'Create Stock'

Name the Stock and sketch how its values change over time

The Stock's Simulated values pick its initial Actual value

Link the Stock to the item that depends on it, and give that target-Variable a Formula

The values of that Variable - and everything that depends on the Stock - also reflect the Stock's initial value

... so we have to add the Flows that change the Stock's values over time or force the Stock to behave like a Variable

24. Set a Stock's initial value

A Stock's Formula only sets its initial value - all later values depend on the Flows that fill and drain the Stock

Enter a value or calculation in the Stock's Formula

That Simulated value continues throughout the model period

It is best to make the initial value explicit ...

Add a Variable named Initial [Stock] with the initial value

Link the Variable and use it as the Stock's Formula

25. Make a Stock act as a Variable and use its Actual values

You may need a model to use a Stock's Actual values, for testing or before you know how Flows changed its values

Select the Stock and click 'Act as Variable'

Delete any Formula for the Stock's initial value

Changing the Stock's Actual values now changes everything that depends on that Stock.

26. Add Flows to fill and drain a Stock

Stocks are only changed by what flows in and out during each period:

Hit F to add a Flow-object to the left of the Stock, name it [Stock] added per [period]. Give it a value or Formula.

Click-hold-drag the arrow head until it sticks to the Stock. Un-check the Stock's 'Act as Variable' switch - the Stock increases by the Flow's rate per period.

Copy and paste the Flow to right of the Stock. Drag the arrow tail to stick to the Stock - the Stock's value changes each period by the net difference between in- and out-flow.

TIP: paste real-world values for historic flow-rates to explain the Stock's changing values.

27. Take a fractional out-flow from the Stock each period

We often need a fractional loss-rate - customer churn, staff turnover, fractional depreciation ...

Hit V to add a Variable for the fractional (or %) loss rate each period

Link that Variable and the Stock itself to the Out-flow

Give the out-flow a Formula of
   Stock * % lost per period / 100

... test different values for the fraction lost per period

28. Period-end and period-average values

We may need numbers of customers, staff, cash etc at period-end ... and performance from period-average Stocks

Add a Variable for net new customers/month .. customers won minus customers lost

Add a Stock for month-end customers = month-start customers + net new customers/month 

Copy this Stock for month-average customers = month-start customers + net new customers/month / 2

Calculate a new total sales value from the month-average customers

29. Make a Flow fill a Stock immediately

Most Flows fill a Stock during a period - cash [1st May] = cash [1st April] + net cash in during April. But some flows act immediately 

Select the Flow and click the 'Immediate' switch in its Inspector.

The Flow's 'pipe' is shown as a dashed line on the workspace to highlight this option.

Because only specific Flows operate immediately, you may need to show them separately from normal Flows into or out of the same Stock.

30. Add results-charts

Display one or more items on larger charts

Hit the C key to add a Chart and drag links from each item you want displayed

Optionally, add or edit the Christina@strategydynamics.com tile, pull items up and down the chart's display order, move or hide the Chart's legend, and set a scale.

Reshape the Chart with the grey bars that appear when the pointer is at the bottom edge, the right edge, or bottom-right corner

31. Create Scenarios

Scenarios compare the impact of changes to one or more model-items

Click Scenarios at bottom of the left panel. Click '+' to create a Scenario, then [...] to edit its name and colour. (Hit Enter to confirm the name)

Select the Scenario then change the Formula or chart-sketch for one or more model items. (Hit CLEAR FORMULA OVERRIDE to undo any change)

Click a Scenario's 'eye' to show/hide it. Select Base Case to return to model editing.

32. Share a project

You do not 'send files'  - you share a project with a link

Click Project | Sharing - then Create share link. 

Copy the link to an email, web-page or other channel.

When a recipient clicks the link, the project opens in their browser where they can work on a copy of your project (There is no software to 'install')

The recipient can then save the project to their Silico account

33. Add a data-table to bring data into model objects

Hit the D key to add a data-table, and name it. Double-click to open the table, click '+ to add columns and paste-in data from external sources

Link the data-table to a target item, add the data-table to item's Formula and select the desired column-name to add it between the quote marks ... "data-table" -> "|"

Use the same method to add data-links to an item's ACTUAL series, selecting 'Define using formula'