EnableYourData.com

KPI · E-commerce

Revenue share by sales channel: formula and example.

Revenue share by sales channel is one channel's revenue divided by total revenue, as a percentage. Channels might be your own web shop, marketplaces, a B2B portal or field sales. It shows how dependent you are on each channel and how the mix is shifting.

Revenue share by sales channel formula

Channel revenue ÷ total revenue × 100%

Worked example

Acme Groothandel's revenue up to the end of September is €1,200,000. Of this, €540,000 comes from its own web shop, €360,000 from marketplaces and €300,000 from field sales. The shares are 45%, 30% and 25%.

Fictitious figures for Acme Groothandel, a sample wholesaler.

How to read this KPI

A growing share for one channel means it is growing faster than the others, or the others are shrinking, so always look at revenue in euros too. Compare the share with margin per channel: a channel with lots of revenue and high costs may earn less overall. A large share in a channel you do not control, such as a marketplace, leaves you exposed to changes in its terms.

Pitfalls with revenue share by sales channel

  • Classifying channels differently in the shop platform, the accounts and web analytics, so totals do not reconcile.
  • Assigning orders started online and completed by phone to a channel without a fixed rule.
  • Showing shares only, so a shrinking total stays hidden.

SQL & DAX

Calculating revenue share by sales channel in SQL and DAX

Two examples on a fictitious data warehouse for Acme Groothandel: a PostgreSQL query and a measure for a Power BI model. Adjust table and column names to your own model.

SQL · PostgreSQL
SELECT channel,
       SUM(total_amount) AS revenue,
       ROUND(100.0 * SUM(total_amount)
             / NULLIF(SUM(SUM(total_amount)) OVER (), 0), 1) AS revenue_share_pct
FROM orders
WHERE status <> 'cancelled'
  AND order_date >= date_trunc('year', current_date)
GROUP BY channel
ORDER BY revenue DESC;
DAX · Power BI
Channel Revenue Share =
DIVIDE(
    SUM(Orders[total_amount]),
    CALCULATE(SUM(Orders[total_amount]), REMOVEFILTERS(Orders[channel]))
)

In ENABLE

Tracking this KPI in ENABLE

Plain-language questions

Ask for revenue share by sales channel per month, customer or product in the SQL Explorer with AI. The AI writes the SQL, you see the query and run it yourself; the AI only receives metadata.

Read more →

In your Power BI dashboard

Define the KPI as a measure in your Power BI model and show it in the portal, with "Last refreshed" next to it. Access profiles and optional row-level security decide who sees which figures.

Read more →

Custom dashboards (pilot)

Add the KPI as a tile to a custom dashboard, compared with last year. The Dashboard Builder is a pilot and can be switched on per client.

Read more →

Monthly targets

With the built-in Targets app you set a target for the KPI per month, so you see actuals and target side by side.

Read more →

FAQ

Frequently asked questions

How do you calculate revenue share by channel?

Divide each channel's revenue by total revenue for the same period and multiply by 100%. The shares of all channels add up to 100%. Use revenue excluding VAT and leave out cancelled orders.

Why does channel revenue share matter?

It shows how dependent you are on each channel and where growth comes from. Because channels carry different costs, such as commission or shipping, a shift in the mix also affects your margin. That is why you read it alongside contribution margin per channel.

How should you define sales channels?

Choose a fixed classification that is the same in all your systems, for example own web shop, marketplaces, B2B portal and field sales. Record on each order which channel it came through. Keep the classification stable so you can compare trends over several years.

Use AI on your own data. Securely, and without the headache.

In an online demo we show how ENABLE makes your data securely available and how you build on it: describing an app in the AI Builder, plain-language questions, dashboards and APIs. And how we set it up and manage it for you.