BikeSale Dashboard

Self-hosted · LocalVPS

BikeSale Dashboard

No sales or returns match these filters.

Revenue by month

Table view: monthly values, returns, orders

Return value by month

Return quantity × product price, by return month. Own scale.

By country

Top 10 subcategories

Customer segments (RFM)

Revenue concentration (Pareto)

Customers sorted by revenue, cumulative share. The marker is the 80% line.

New vs returning revenue

Returning customersNew customers (first order that month)

Cohort retention by quarter

Row = customers whose first order fell in that quarter; cell = % of them ordering again N quarters later.

Basket network: what sells together

Node = subcategory, sized by the orders that contain it; link = a pair bought together more than chance (line weight = lift; pairs with ≥50 shared orders and lift ≥ 1.2). Drag nodes; hover for numbers.

Return rate by subcategory

Basket pairs by lift

Revenue forecast: next six months

ActualForecast ±95% band

Churn risk: repeat customers

Customer value by segment

Next best offer: from basket rules

Directional confidence: of orders containing the left item, the share that also contains the offer. Rules with lift ≥ 1.5 and ≥100 shared orders.

What-if levers

Static levers computed from the figures above.
Method caveat. Data ends 30 Jun 2022, so the forecast demonstrates the method on this dataset rather than predicting a current future. Churn tiers are rule-based (recency ÷ the customer's own median repurchase interval, floor 14 days), not a fitted model.

Revenue (BR) = order quantity × product price, before returns. Returns = return quantity × product price. Revenue (AR) = BR − returns.

Cost = order quantity × product cost. Profit = revenue − cost (AR subtracts returns from revenue only; return-cost credit is open decision U-05).

Orders = distinct order numbers. AOV = revenue ÷ orders. Country = the order's territory (the Power BI model routes it via the customer, open decision U-03).

RFM: recency = days since last order at the scope's last order date; frequency = distinct (order, date); monetary = revenue. Quintiles 1–5, class = R·F·M digits, segments from Dim_RFM.xlsx.

Page 1 is computed live for the filters. Pages 2–3 are pre-computed per scope at each data load. Definitions match the semantic model (z_measure, z_RFM_analysis, z_Basket_Analysis).