The Sheetless software user-guide

The SHEETLESS  browser-based software builds dynamic (time-based) models. After a simple model-demo, the sections of this guide are in the order you will most likely need features as you build a model.

Most videos are less than 1 minute and have no audio, so no need for headphones! 

Use browser-search ..  Ctrl-F or Cmd-F .. to find any topic.

Jump to ...

SIMPLE DEMO - a credit-card - spending, interest, repayments and card-balance (this has audio

GETTING STARTED ... Creating a new project, and the project-screen layout 

BASIC TASKS ... Time-settings, adding variables and calculations, and working with objects

WORKING WITH SKETCHED AND SIMULATED DATA ... The time-series for each item that help models match real-world results

STOCKS AND FLOWS... The accumulating factors that drive change in real-world systems







1. A simple credit-card model

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

Think of any model item as a spreadsheet column, with its name in the top cell and each period's values in the cells below.

Link-arrows are like cell-references showing what depends on what.

Small charts show how every item's value changes over time.

Go to top


Signing up for SHEETLESS, Creating and managing a project, and the project screen layout. 

2. How to sign up for Sheetless.

Go to Click PRICING

Either select Community Edition, or Single User (use  coupon SDL2020 for a 2-year 75% discount)

Complete the Signup - you will receive an email to verify your email address.

Go to top

3. How to create a new project. A "project" holds one or more related models that share time-settings.

In the Dashboard, click NEW PROJECT

In the ‘New Project’ window, complete the project name and description

(The automatic project ‘slug’ is the link for your browser to find the project)

Click CREATE - the new project is added to the Dashboard list

Double-click the project name to open the project’s home-page

… and click OPEN to start the project

Go to top

4. The project home page ... offers features for saving and save-as, project sharing, general project documentation, settings for public/private and archiving the project and deleting a project. This alert (if the project is open) shows there are un-saved changes ... 

Go to top

5. The project-screen layout. The video explains layout and key items on the project-screen ... the empty work-space, the project name and unsaved-changes indicator, 'back' to the project home-page, menu-items, model-list (in this project), scenarios-management, switch to the presentation layer, the time-bar, zoom. 

Go to top


How to set timings, create Variables and link them for calculations, add real-world data, work with objects 

6. Set or change project time-settings. 

Click the Project menu, then Project Settings 

Either choose SHOW TICKS (undefined time-units) or SHOW TIME (real dates and times)

… set the Start time number or date/time, and number of time Steps the project’s models will run for

… if using ticks, you can set a Resolution (advanced : how many times models recalculate between each Tick) - if using real time you can set how many time-units the models advance at each calculation step  

You will be warned if the new settings would truncate any Sketched time-values in the model. Choose if Sketched data should stay at the same time-number or date, or move to the same relative position. (If you change the Start-time from 1 to 5,  should data at time-6 stay at time 6 or be moved back to time-10?)

Go to top

7. Create a Variable, with a name, stub and note. This is like a spreadsheet column, with its name in the top cell and each period's values in the cells below. The name is used to calculate other items and you can add a 'stub' of extra text,The circle is the Variable itself, which will display its current value, and a mini-chart will show its changing values over time.

Put the pointer where you want the Variable on the workspace

Hit the V key .. or right-click and select Create Variable from the list 

Click to open the “Inspector” panel at right

Enter a name (any character except the double-quote-mark… and an optional ‘stub’ of extra text

Go to top

8. The Inspector (example for a Variable). Explains all the elements of the 'Inspector' for a Variable in Sheetless - its name, stub, formula, chart, note, data-series. (See other videos on working with the mini-charts and entering Sketched data).

Go to top

9. Working with mini-charts. Options for the mini-charts that display time-series values on the workspace. 

Set the Min and Max value-scale and optionally dis-allow auto-scaling … values show as K (thousands), M (millions), B (billions), T (trillions). 

Click TOGGLE CHART to hide or show the workspace mini-chart. 

Click CLEAR SKETCH delete the sketched data from the Variable.

Drag the workspace mini-chart to move or resize it. 

Go to top

10. Link a source-object to a target-object … so the target’s Formula can use the source-item to calculate its own time-series values. (Links are like spreadsheet cell-references, but help prevent reference errors).  

Move the pointer close to the source-object - a ‘cloud’ appears.

Click-hold in the cloud and drag the pointer away - a link-arrow starts to grow.

Keep pulling the arrow head until it sticks to the target object.

Optionally, click-drag on the link-arrow to reshape it.

Go to top

11. Add real-world data to an object’s "Sketched" series. Each object holds two time-series - values calculated by the Formula and values you enter directly. Use this to compare the model with real-world numbers or with base-case results. (This sketched series is like a 2nd spreadsheet column for the Variable).

In the Inspector, click the DATA drop-down.

Either drag the mouse over the chart to “sketch” a time-chart (the values are auto-filled in the Sketched column) … or type values in the Sketched-column cells … or copy column data (unformatted) from another source and paste into the Sketched column, starting at any selected cell

With no Formula, the SImulated values are set to match the Sketched values

Go to top

12. Create a Formula to calculate values from linked items. Click the object and in the Inspector Formula box you can:

.. enter a simple value, calculation, or function, e.g. step (10, 6) gives a value of 10, from time-6

.. click the name of linked items to add them to a Formula - here, Customers has been clicked

.. click  to see or re-use linked items

Standard maths notation and rules apply. Use spaces and line-feeds to make a Formula easy to read.

Go to top

13. Select, move, delete, copy, paste, arrange elements

To select .. click an object or click-drag around an area - Ctrl-A selects all.

To move a selection .. click-drag any selected object (not its name or chart!)

Ctrl-C to copy the selection - Ctrl-V to paste the selection

Drag the name or chart around the object’s circle-icon - here, revenue is dragged right and the chart is dragged right and away to enlarge it

Go to top

14. Notes and documentation. Good documentation is critical

Use the Readme field on the project home-page to explain the entire project

Click the N key to add Notes to any model (Notes use basic ‘markdown’ formatting, see

Use the note-field inside objects to specify them, record data-sources and explain their Formula.

Go to top

15. Using unlinked objects in a Formula. 

Double-click a link between objects to delete it - the target’s Formula still works. 

In a Formula, type  and any character-string - auto-complete (predictive typing) then lists object-names that match - click the desired item to add it to the Formula.

But beware - links help prevent reference-errors and show 'what causes what', so use this trick with care!

Go to top

16. Fixing errors, mistakes and problems. 

Ctrl-Z un-does any number of steps - Ctrl-Y re-does those steps (In the Inspector, ‘undo’ cancels local edits)

To discard a whole series of edits that have gone wrong, go back to the project home-page and close the model, choosing Discard and close

Seek help :

Go to top


Looks at  formula--priority, copying spreadsheet data in and out, keeping simulated results. 

17. Any Formula over-rides Sketched data.

The Formula and Sketch for an object are two different instructions for working out its values. 

ANY valid Formula takes priority over Sketched values, both for the object itself and for calculating any other item that depends on that object ... but Sketched data is retained and displayed.

Clear the Formula (completely!) to use Sketched data in the object and in items that depend on it.

Go to top

18. Copy spreadsheet data into the Sketched series. 

In the spreadsheet, arrange the data in a column, with no formatting and no thousands-separators. 

Copy the data-cells only.

In the Inspector’s DATA section, select the Sketched column or a cell you want to start the copied data from and Ctrl-V to paste

Go to top

19. Copy object-data out to a spreadsheet. 

In the inspector, select the Sketched and/or Simulated columns or a range of cells

Hit Ctrl-C, switch to the spreadsheet and paste the data.

(You can also copy-out the results for several objects, using a results-Table).

Go to top

20. Keep Simulated results in the Sketched series. Use this for capturing Simulated results as a base-case, to compare with results from changing values, Formulae or other model-changes.

In the inspector, select the Simulated columns and hit Ctrl-C.

Select the Sketched column and hit Ctrl-V.

(You can do this from any object, to any object

Go to top

21. Manipulate the Sketched data-series. You can do calculations with an object's Sketched values in its own Formula, for example to test some systematic change to real-world values.

In the object’s Formula, type … “sketch” and add any calculations. 

Here, the Formula "sketch" * 1.5 shows the impact of a 50% uplift for total sales. (Red links show that linked items are ignored). 

Go to top


Why Stocks (accumulating factorsare critical items - no useful dynamic model is possible without them. See how to add and work with Stocks and the Flows that change them, and how to deal with period-end and period-average Stock values and immediate Flows.

22. What is a Stock? Stocks are fundamental to how the real world works, so no dynamic model (of anything!) can be correct unless they are included and properly handled. 

Stock is a quantity of things or material that accumulates or depletes over time

A Stock’s quantity is measured at points-in-time (not for periods of time)

… and its quantity at this point in time is the quantity at a previous point in time, plus anything added, minus anything lost (example in the video)

Business examples include cash, debt, staff, inventory, customers, capacity … and intangibles like data and reputation. 

Go to top

23.     Create a Stock … a quantity of things or material that accumulates, such as cash, inventory, customers, staff

Hit the S key, and in the Inspector panel give the Stock a name and (optional) stub-text

Any Formula or Sketch will only set the Stock’s initial Simulated value until you add Flow-objects to change its values over time (but see also how to make a Stock act like a Variable to use its sketched values).

Go to top

24. Set a Stock’s initial value. Stocks are only changed by the Flows that add to them or subtract from them (cash today = cash yesterday plus cash paid in minus cash paid out). But the Stock needs an initial value to start from. 

Either click the Stock and in its Inspector enter a value or calculation for its initial value

or create a Variable for the Stock’s initial value, link it to the Stock, and add the linked item to the Stock’s Formula.

With no Formula, the Stock will start from zero or pick the first value from its Sketched time-series.

Go to top

25. Make a Stock act as Variable. You can force a Stock to use its Sketched values by making it act like a Variable. 

Select the Stock and in its Inspector, click the Act as Variable button

… and clear the Formula

Use this switch [a] to make the model work before you add the Flow-rates that change its values, or [b] to work out results from the Stock’s real-world values instead of its Simulated values.

Go to top

26. Add Flows to fill and drain a Stock. The quantity of a Stock at that start of the next period is its value at the start of this period, plus any in-flow during this period, minus any out-flow during this period. 

Hit the F key to create a Flow, give it a name and a Formula value or calculation.

Click and hold the head (or tail) of the Flow’s green ‘pipe’ and drag until the pipe sticks to the Stock. 

Uncheck the Stock's Act as Variable button.

The Formula, Sketch and Simulated series for a Flow work exactly the same as for a Variable.

Go to top

27. Make an out-flow that is a fraction of a Stock. Stocks often lose a fraction of their current quantity each period (customer-churn % per month; staff turnover % per year and so on). 

Add an out-flow connected to the Stock and a Variable for the %-per-period the Stock will lose. 

Link this Variable and the Stock itself to the out-flow with Formula … “Stock” * “% lost per period” / 100. Here, Customers are lost over 36 months and there is no in-Flow filling the Stock.

This also prevents the nonsense of Stocks going negative - not just a technical 'problem' in a model, but a realistic view of the real world.  (The %-per-period itself may of course change over time!)

Go to top

28. Period-end and period-average Stock values. A Stock’s value is measured at the start of each period, and determine other results for that period, up to the next point in time. We may need the quantity at the end of each period - month-end cash, year-end staff or customers ...  A Stock’s average quantity in each period (e.g. Customers) gives more accurate performance results (e.g. sales/month).

Add a Variable for net change in the Stock during the coming period. 

Link both the in-Flow and out-Flow to this Variable and give it the Formula “in-Flow” - “out-Flow”

Add and link a Stock for the Stock’s period end value, set to Act as Variable, with the Formula “Stock” + “net change in Stock”

Copy this new Stock to make a 3rd Stock, “Stock’s period-average value”, with the Formula “Stock” + “net change in Stock” / 2 

Note that, strictly, these new items are also Stocks, although their values are being directly calculated.

Go to top

29. Make a Flow 'immediate'. Flows usually add to a Stock during a period, so the period-end Stock is its value at the start of the period (end of the previous period), plus/minus the Flows during the period. But sometimes the Flow must be added immediately (e.g. cash paid in at the start of a month). 

Select the Flow and click the Immediate button

Here, $10 is paid in at the start of month 3, and the Stock of cash increases from $100 to $110 at time-3.

Go to top


Text TBA

30. Save and Save-as. Latest changes are always saved to the browser-cache. An asterisk by the project name at top-left indicates local changes not yet saved to your account.

To save latest Project-changes to your Sheetless account: 

... on the Project menu, click Save - or hit Ctrl-S

To save a new Project-version or save with a new name: 

... click  at top-left to return to the Project home-page and choose Save-as from the drop-down menu.

Go to top

31. Managing your projects collection COMING SOON. ...

Go to top

32. How model-sharing works. The hyperlink on your browser window is your private link to the model in your account - it is no use to anyone else. 

To share a model, you create a share-link, that you then email or post. When the receiver opens the link, a copy of the model loads in their browser. 

Receivers who open the Project from the share-link do not need a Sheetless account, but if they have one they can then save that model to their own account.  

Go to top

33. Sharing your model. 

In the Project menu at top-left, select 'Sharing'

In the window that opens, click CREATE SHARE LINK and hit the copy button ..

...then email or post the link in any way you wish.

You can also create share-links from the Project home-page.

Go to top




 ... [ COMING SOON ]


 ... [ COMING SOON ]


  ... [ COMING SOON ]