Omnichannel Retail Analytics Path · Mission 1 of 25Easy

Orders by channel

First look at fact_orders — a 4-channel reconciled order table. Practice single-table GROUP BY + COUNT to surface the channel mix. Foundational shape every omnichannel analyst writes daily before any deeper question.

The Brief

Iris PatelOmnichannel Operations Leadomnichannel-ops

Welcome aboard. Before we touch a single dashboard, get familiar with our orders table. fact_orders carries every order across all four channels (web_ship, web_bopis, store_walk_in, store_ship_from_store). Give me a count of orders by channel — single column GROUP BY, COUNT(*), ordered by order_count DESC then channel ASC. Two columns: channel, order_count. Sanity check the four channel names — they should match exactly.

You'll practice

SELECTGROUP BYCOUNT

Tables & columns available

fact_ordersfact10 columns
ColumnTypeKey
order_idINTPK
sku_idINTFK → dim_skus
store_idINTFK → dim_stores
channelTEXT
customer_zipTEXT
order_tsTEXT
unitsINT
gross_amountREAL
discount_amountREAL
fulfillment_costREAL

Hints (4)

Each hint you reveal reduces the XP you can earn. Try the query first.

Hint 1

Single-table query — fact_orders is all you need.

Hint 2

GROUP BY channel, COUNT(*) for the order_count column.

Hint 3

ORDER BY order_count DESC, channel ASC keeps output deterministic.

Hint 4

No WHERE clause — every order counts, including foot-traffic-no-purchase store_walk_in rows (we'll filter those in M3).