Skip to content

Charts / E-commerce metrics

E-commerce net revenue chart

Show net revenue, its channel mix and what it lost on the way.

Short answer

Show net revenue as the headline with its split by channel in a semi donut, so the total and the mix read in one card. To explain the gap to gross sales, add a waterfall of discounts and returns.

Updated Nov 2, 2026 · E-commerce sample data

Semi donut: net revenue $228K USD3,412 orders by channel: Web 52%, App 28%, Market 14%, Retail 7%.Semi donutQ3 2026NET REVENUE$228KUSD+7%VS SEPTEMBERORDERS3,412WEB 52%APP 28%MARKET 14%RETAIL 7%ORDERS3,412OCTOBERAOV$67+$3RETURNS4.1%OF ORDERSREPEAT31%BUYERSCHANNEL NOTESOCT 09App · push campaign +412 ordersOCT 06Marketplace · fee changeOCT 03Retail · two stores reopenedOCT 01Web · checkout redesign liveSYNCED 4 MIN AGOOpen report
Orders by channel
ChannelShare
Web52%
App28%
Market14%
Retail7%
  1. 01Net revenue in the heroThe month's revenue after discounts and returns, against last month.
  2. 02Orders by channelThe split of orders under the total.
  3. 03The order factsAverage order value, returns and repeat buyers.

The data it needs

ColumnTypeExampleNote
order_idText100482One row per order.
channelTextWebWeb, app, marketplace or retail.
gross_usdNumber, USD74Before discounts and returns.
discount_usd · refund_usdNumber, USD4 · 0Subtracted to get net revenue.

From gross sales to net revenue

From gross sales to net revenueFrom gross sales to net revenue: Gross sales $251K, Discounts −$13K, Returns −$10K, Net revenue $228K.300K240K180K120K60K0GROSS SALES−$13KDISCOUNTS−$10KRETURNSNET REVENUE
From gross sales to net revenue
StepAmount
Gross sales$251K
Discounts−$13K
Returns−$10K
Net revenue$228K

042 · Waterfall

October's 3,412 orders brought $251K in gross sales. Discounts took $13K and returns $10K, leaving $228K net revenue, 7% more than September.

The semi donut shows the total and the mix; the waterfall shows what came off. Put it under the widget for the month in focus.

Next to it on a store dashboard

  • Trial funnelSeptember trial funnel: 48.2K site visits, 12.4K signups, 5.1K activated, 1.2K paid and 0.4K on an annual plan.Site visits48.2KSignups12.4KActivated5.1K41%Paid1.2K24%Annual0.4K33%
    Trial funnel
    StageCountStep conversion
    Site visits48.2K
    Signups12.4K26%
    Activated5.1K41%
    Paid1.2K24%
    Annual0.4K33%
    Trial funnelSeptember trial funnel: 48.2K site visits, 12.4K signups, 5.1K activated, 1.2K paid and 0.4K on an annual plan.Site visits48.2KSignups12.4KActivated5.1K41%Paid1.2K24%Annual0.4K33%
    Trial funnel
    StageCountStep conversion
    Site visits48.2K
    Signups12.4K26%
    Activated5.1K41%
    Paid1.2K24%
    Annual0.4K33%

    032 · FunnelFlow between steps · SaaS data

  • Conversion by channel, September to OctoberStore conversion by channel: 4 of 5 channels improved, Email from 4.1% to 5.2%; Social fell from 2.2% to 1.9%.SEPOCT4.1%Email5.2%3.2%Search3.6%2.7%Direct3.1%2.2%Social1.9%1.6%Affiliate2.3%IMPROVEDDECLINED
    Conversion by channel, September to October
    ChannelSeptemberOctober
    Email4.1%5.2%
    Search3.2%3.6%
    Direct2.7%3.1%
    Social2.2%1.9%
    Affiliate1.6%2.3%
    Conversion by channel, September to OctoberStore conversion by channel: 4 of 5 channels improved, Email from 4.1% to 5.2%; Social fell from 2.2% to 1.9%.SEPOCT4.1%Email5.2%3.2%Search3.6%2.7%Direct3.1%2.2%Social1.9%1.6%Affiliate2.3%IMPROVEDDECLINED
    Conversion by channel, September to October
    ChannelSeptemberOctober
    Email4.1%5.2%
    Search3.2%3.6%
    Direct2.7%3.1%
    Social2.2%1.9%
    Affiliate1.6%2.3%

    044 · SlopeCompare items · E-commerce data

  • Shelf availabilityStock on 15 products across 3 shelves: out of stock Oat, Kefir, Gouda; low (30% or less) A2, Kids; the rest healthy.OATSOYWHOLESKIMA2GREEKSKYRKEFIRPLAINKIDSBRIEFETACHEDDARGOUDAMOZZHEALTHYLOWOUT
    Shelf availability
    ShelfProductFacingsStockStatus
    1OAT30%Out
    1SOY270%Healthy
    1WHOLE485%Healthy
    1SKIM355%Healthy
    1A2222%Low
    2GREEK364%Healthy
    2SKYR390%Healthy
    2KEFIR20%Out
    2PLAIN476%Healthy
    2KIDS218%Low
    3BRIE250%Healthy
    3FETA281%Healthy
    3CHEDDAR468%Healthy
    3GOUDA30%Out
    3MOZZ392%Healthy
    Shelf availabilityStock on 15 products across 3 shelves: out of stock Oat, Kefir, Gouda; low (30% or less) A2, Kids; the rest healthy.OATWHOLESKIMGREEKSKYRPLAINCHEDDARGOUDAMOZZHEALTHYLOWOUT
    Shelf availability
    ShelfProductFacingsStockStatus
    1OAT30%Out
    1SOY270%Healthy
    1WHOLE485%Healthy
    1SKIM355%Healthy
    1A2222%Low
    2GREEK364%Healthy
    2SKYR390%Healthy
    2KEFIR20%Out
    2PLAIN476%Healthy
    2KIDS218%Low
    3BRIE250%Healthy
    3FETA281%Healthy
    3CHEDDAR468%Healthy
    3GOUDA30%Out
    3MOZZ392%Healthy

    059 · Shelf planogramSpace and place · E-commerce data

Common mistakes

Gross sales as revenue

Discounts and returns are not revenue. Show the net.

A mix with no total

Shares need the number they are shares of.

Returns hidden in the net

Show them as their own step, so a rise is caught early.

Get the charts on this page

Semi donut, waterfall and the other 130 types.

In Figma and React, in four sizes, light and dark. Pay once, every update.

018 · Semi donut type page042 · Waterfall type page

See plans

Questions

What is net revenue?

Gross sales minus discounts and returns, before costs.

Orders or revenue by channel?

Orders show where buyers come from; revenue shows where the money does. Pick the one the team acts on.

Can I draw it from my own data?

Yes. The chart is drawn from your rows (order, channel, gross, discount, refund) and lays out again for its size; nothing is scaled.

Does the semi donut come in every size?

Yes: XS, S, M and L, each laid out again for its size, in light and dark.

Charting another metric? Start from what the chart has to show.

Open the Chart Chooser