A maintained home for your STAN models
STAN (TU Wien) taught a generation of engineers how to do substance flow analysis. OpenSankey carries that heritage into the browser: it opens your files and continues the work with today's tools.
| STAN 2.7 | OpenSankey / MFASankey | |
|---|---|---|
| Status | Freeware, last release 2022 | Actively developed, open-source core |
| Platform | Windows desktop (Mac/Linux executables since 2025) | Any browser, nothing to install |
| Data reconciliation | Error propagation & data reconciliation per ÖNorm S 2096 | Constrained reconciliation + completion from ~10% of measured data |
| Uncertainty | Yes | Yes, propagated end-to-end |
| Multi-period / scenarios | Periods and layers | Data tags: years, scenarios, any dimension, switchable live |
| Sharing results | Static exports | Interactive published diagrams, embeddable in any site |
| Your existing files | None | .smfa and .zmfa import built in |
| Price | Free | Free editor, no account; the flow analysis engine is a subscription, with a one-month trial (see pricing). Academic access available. |
Who STAN is for
STAN ("subSTance flow ANalysis") was developed at TU Wien by Oliver Cencic and Helmut Rechberger. It is the reference tool of the academic material and substance flow analysis community: research, teaching, waste management. It implements the Austrian standard ÖNORM S 2096 and is cited across much of the literature in the field. It is free.
What we learned from STAN
Statistical rigour, and the way it displays it. STAN checks the plausibility of the model, reconciles data by weighted least squares, propagates error analytically, then returns diagnostics that publications in the field cite by name: degree of over-determination, objective function value, reconciliation quality index between 0 and 1, gross error detection through a test on the residuals, and a histogram of standardised scores. It couples goods and substance layers through concentration equations, chains stocks from one period to the next, rounds numbers according to the uncertainty attached to them, and lets you attach a literature reference and a remark to every value, layer by layer and period by period. On the traceability of a number inside a scientific paper, it is a model of its kind.
What we chose to do differently
STAN is a desktop calculation tool in which the diagram serves the mathematical model. That produces two structural limits.
The first is the data model: STAN organises values into layers (goods, substances, energy) crossed with periods of equal length. That is exactly what a substance analysis over time requires, and nothing else. A third dimension — a scenario, a region, a use, a supply chain — has no slot in the file: it becomes another file, to be maintained in parallel.
The second is the output: the result of a STAN study is a file or an image. The stan2web portal lets you deposit and search files, read-only, but a file is not a deliverable for a client who wants to explore. To that adds a detail that weighs in daily use: undo only covers moves and resizes, not changes to the model.
Finally, a point of context that is not a criticism of the software: its last published release dates from February 2022, and it relies on an ageing Windows runtime. For a lab starting a three-year PhD, that is a risk to weigh.
What we added
The same discipline, on a web foundation, with visualisation and sharing as first-class citizens: styles, crossed tags, multiple views of one model, legends, auto-layout, and the publication of an interactive diagram you share by URL and embed in a website. On the data side, a structured Excel workbook makes the full round-trip, where STAN goes through the clipboard. On the calculation side, our solver is free — no separately licensed third-party module is needed to handle large systems — it accepts minimum/maximum constraints, returns intervals when the information is insufficient, and uses Monte-Carlo sampling for uncertainty analysis. And dimensions are free and can be crossed: years, scenarios, regions, products, with hierarchical aggregation and disaggregation of nodes. See how, on a concrete example →
When to stay on STAN
Stay on STAN if your work relies on what we do not have yet: the concentration equations that couple goods and substances within a single resolution — the core of substance flow analysis —, the full statistical report (over-determination, quality index, standardised scores), uncertainty-driven rounding, or assisted naming from a nomenclature such as the European Waste Catalogue. Stay there too if your publication has to claim conformity with ÖNORM S 2096 as STAN implements it. The table below says, row by row, where we stand.
And you do not have to choose upfront: our importer reads your files, and your originals stay valid STAN files.
Teaching material flow analysis? Write to us, educational use is open to discussion: see pricing.
See STAN models open in the browser
Real STAN files, in both formats — three .zmfa and one .smfa —
with their processes, their periods and their stocks, laid out exactly where STAN drew
them. Click one; nothing to install.
Feature by feature: STAN 2.7 and OpenSankey
We wrote this table while building our STAN importer, working from the STAN 2.7 manual and
real .zmfa/.smfa files. Each row gets an honest verdict: some
things are strictly equivalent (and survive file import), some exist in a different form,
and some exist on only one side. Spotted a mistake? Tell us and we will fix it.
Model & structure
| Capability | STAN 2.7 | OpenSankey / MFASankey | Verdict |
|---|---|---|---|
| Processes, flows, imports & exports | Import/export symbols (I/E) at the system boundary | Imported as external nodes; the I/E letters are kept as display labels | Same |
| Processes with stock | Stock level + stock change per period | Stocks supported and imported | Same |
| Per-process balancing switch | Balancing can be turned off per process | Same switch (material balance per node); imported | Same |
| Nested subsystems | Subsystems up to 6 levels, each with its own drawing area | Node aggregation levels: expand/collapse in place, several independent hierarchies | Close |
| System boundary with automatic totals | Drawn boundary; auto text for Σ imports, exports, stock changes | A zone can be drawn, but boundary totals are not computed yet | STAN only |
Layers & periods
| Capability | STAN 2.7 | OpenSankey / MFASankey | Verdict |
|---|---|---|---|
| Periods (years, time series) | Contiguous periods of equal length | Imported as data tags: one diagram, all years, switchable live | Same |
| Substance / energy layers | Several layers in one file | You choose the layer to open at import; one layer per document for now | Close |
| Concentration equations (goods ↔ substances) | Bilinear coupling solved across layers, the SFA core | Not available: each dataset is reconciled independently | STAN only |
| Inter-period stock equation | stocki = stocki−1 + Δstocki−1, automatic | In development (multi-year stock chaining) | STAN only |
| Scaling basis (e.g. per 100 000 inhabitants) | Data displayed relative to a reference entity | Unit scale factors per dataset | Close |
| Arbitrary extra dimensions | Layers × periods only | Any number of tag groups: scenarios, regions, products, uses, crossed freely | OpenSankey only |
Data, uncertainty & reconciliation
| Capability | STAN 2.7 | OpenSankey / MFASankey | Verdict |
|---|---|---|---|
| Value = mean ± standard uncertainty | Absolute or %, optional per value | Imported (converted to relative %), feeds our reconciliation directly | Same |
| Data reconciliation | Weighted least squares, incl. nonlinear cases | Constrained solver: reconciliation and completion of unknowns from partial data | Close |
| Calculated values in the diagram | Toggle between entered and calculated data | STAN's calculated values are imported as results and displayed as such | Same |
| Uncertainty of results | Analytic error propagation | Result intervals (min–max), imported from STAN files and computed by our solver | Close |
| Transfer coefficients | Matrix per process, unknown TCs computable | Imported as flow-ratio constraints, solved; no matrix editor per node yet | Close |
| Gross error detection & quality index | Standard scores, 95% confidence test, reconciliation quality in [0,1] | Out-of-uncertainty flagging today; the full statistical report is in development | STAN only |
| Additional linear relations between flows | flux = factor × flux, across layers and periods | Ratio and min/max constraints within a dataset; cross-layer relations come with multi-layer support | Close |
Data entry & documentation
| Capability | STAN 2.7 | OpenSankey / MFASankey | Verdict |
|---|---|---|---|
| Data grid | Data Explorer (grouping, sorting, unit validation) | Embedded spreadsheet in the editor | Same |
| Excel workflow | Copy/paste with Excel | Full structured workbook: import, edit in Excel, re-import, round-trip | Close |
| Custom units & conversion | User-defined units incl. quotient units (t/a) | Same, and quotient units survive import | Same |
| Literature reference & remarks per value | Per layer and period, reusable reference list | Imported: references land in the source field, remarks in the hypothesis field, value by value; no reusable reference list yet | Close |
| Uncertainty-driven number rounding | Significant digits derived from the uncertainty (metrological display) | Standard number formats only | STAN only |
| Flow catalogue (e.g. European Waste Catalogue) | Assisted naming from an Excel nomenclature | Not available | STAN only |
| Find an object in the model | CTRL+F with clickable results | Not available yet | STAN only |
Diagram & sharing
| Capability | STAN 2.7 | OpenSankey / MFASankey | Verdict |
|---|---|---|---|
| Layout fidelity on import | — | Positions, elbows, flow order, fonts, colors and label placement reproduced from the STAN file | Same |
| Value labels along a flow | Value ovals, position adjustable along the path | Positionable labels; the STAN offset is imported, measured along the elbows | Same |
| Image export | Raster formats, grayscale option | PNG, SVG, PDF, animated GIF | Same |
| Diagram styling | Proportional widths, one max-width slider | Styles, themes, tags, legends, multiple views of one model, auto-layout | OpenSankey only |
| Undo / redo | Moves and resizes only | Full history on every action | OpenSankey only |
| Sharing results | stan2web file exchange (read-only files) | Hosted interactive diagrams, embeddable in any site | OpenSankey only |
| Interface languages | German and English | English, German, French, Spanish and Italian | Same |
File formats
| STAN 2.7 | OpenSankey / MFASankey | |
|---|---|---|
| Native format | .zmfa (gzipped XML), .smfa (SQLite), legacy .mfa/.xmfa | Versioned open JSON + structured Excel workbook |
| Reads the other's files | No | Yes: .smfa and .zmfa, model and drawing included |
| Automation | stancmd.exe CLI | Python API (parser + solver), open source |
The door only opens one way: STAN cannot read our files, but we read both STAN formats, including the embedded drawing. Migrating loses neither your model nor your layout, and your originals stay valid STAN files.
