Guide · 10 minutes

How to turn an income statement into a Sankey diagram.

One income statement, the lines it becomes, and the finished diagram. The numbers below are the ones that drew the picture further down the page.

You need the statement and about 10 minutes. No account, and nothing to install.

The statement we start from

One month, in thousands, in the order a reporting pack prints it.

Recurring revenue$1,840k
Services$420k
Add-ons$160k
Total revenue$2,420k
less Cost of revenue$610k
Gross profit$1,810k
less Sales & marketing$720k
less R&D$540k
less General & admin$300k
Operating profit$250k

The six steps

  1. 1

    Turn the statement's totals into nodes

    An income statement has two totals that do the work: total revenue and gross profit. On a Sankey diagram they are not amounts. They are nodes, and every other line arrives at one or leaves it.

    That single move is the whole translation. Everything below is bookkeeping.

  2. 2

    Write one line per movement of money

    Each line names where money came from, how much, and where it went. One line draws one ribbon. There is no other syntax to learn.

    Amounts keep the notation you type. $1,840k stays $1,840k on the diagram and in the exported file.

    The statement above, as flow lines

    • Recurring revenue [$1,840k] Revenue
    • Services [$420k] Revenue
    • Add-ons [$160k] Revenue
    • Revenue [$1,810k] Gross profit
    • Revenue [$610k] Cost of revenue
    • Gross profit [$720k] Sales & marketing
    • Gross profit [$540k] R&D
    • Gross profit [$300k] General & admin
    • Gross profit [$250k] Operating profit
  3. 3

    Send revenue in, then send it back out

    The three revenue lines flow into revenue. Revenue then flows out twice: into cost of revenue, and into gross profit. Gross profit flows out into each operating cost and into operating profit.

    Read left to right and the arithmetic of the statement is visible without a single subtraction.

  4. 4

    Check every node takes in what it gives out

    Revenue takes in $2,420k and gives out $610k and $1,810k. Gross profit takes in $1,810k and gives out $720k, $540k, $300k and $250k.

    If the two sides of a node differ, the diagram still draws, and the wider side sets the node's height. That is usually a missing line rather than a rounding problem.

  5. 5

    Set the look, then export

    Theme, ribbon curve, label position, value format and export size are controls beside the canvas. Each one redraws the diagram as you move it.

    Deck size is 1600 by 900, which drops onto a slide without resizing. A watermarked PNG is free. Clean PNG and SVG come with a Pass.

  6. 6

    Next month, paste and re-run

    The structure you just built is the part worth keeping. Save the diagram, and next month paste the new numbers into the same one and re-run it.

    Node order, colours, labels and export size stay exactly where they were. The month you just replaced is kept as a dated snapshot.

What those lines draw

Nothing was retyped for this picture. It is the 9 lines above, drawn.

Monthly P&L9 flows
Recurring revenue$1,840kRevenue$2,420kServices$420kAdd-ons$160kGross profit$1,810kCost of revenue$610kSales & marketing$720kR&D$540kGeneral & admin$300kOperating profit$250kmade with sankeytastic
Open this diagram in the studio

It opens on the diagram above, with these numbers in the panel beside it. Select all, paste yours over them.

Where it goes wrong

  • Making costs negative

    Costs are a direction on a Sankey diagram, not a sign. Write $610k, not -$610k or (610). A negative amount cannot be drawn as a width.

  • Leaving a total as a number

    If gross profit appears only as an amount, the right-hand side of the diagram has nothing to hang from. Every total in the middle has to be a node.

  • Drawing a loss as a gap

    When operating costs exceed gross profit there is no profit ribbon. Add the shortfall as a source instead, flowing into gross profit, named for what it is.

  • Too many lines

    12 revenue lines make 12 ribbons too thin to label. Keep the 5 or 6 your reader recognises and group the rest into one node called other.

Questions

How do I turn an income statement into a Sankey diagram?
Write one line per movement of money: source, amount, target. Make total revenue and gross profit into nodes. Then flow costs and profit out of each of them.
What goes on the left and what goes on the right?
Money enters on the left and leaves on the right. Revenue lines are on the left, costs and profit on the right, with revenue and gross profit in the middle.
Do costs need to be negative numbers?
No. A cost is a flow leaving a node, so it is written as a positive amount. Signs are not used anywhere.
How do I show a net loss?
Add the shortfall as a source on the left, flowing into gross profit. The diagram then balances and the loss is a labelled ribbon rather than a hole.
Can I do this in Excel instead?
Excel cannot draw a Sankey diagram, so the usual route is stacked bars or hand-drawn shapes. Both take an afternoon, and neither survives a change to the numbers.
What does it cost?
Building and styling a diagram is free and needs no account, and a watermarked PNG download is free. A Pass is $12 for a week, $39 for a quarter or $99 for a year, paid once.

Other starting points

Passes are paid once: $12 for a week, $39 for a quarter, $99 for a year. A Pass buys saving, re-running, saved themes and clean PNG or SVG export.