Customer Revenue Trajectory:Analyze Cumulative Revenue Distribution to Understand Customer Spending Patterns
Intermediate
Track the cumulative revenue distribution across all customers.
Xorthax wants to analyze the cumulative revenue distribution across all customers. Write a query to calculate the cumulative distribution of total spending for each customer.
Write Your Query
Answer:
with customertotals as
(select o.customerid,
sum(o.totalamount) as totalspending
from orders o
group by o.customerid)
select customerid,
totalspending,
cume_dist() over (
order by totalspending desc) as revenuedistribution
from customertotals;
Explanation:
This reflects studying how customer spending adds up to total revenue to identify contribution patterns across all buyers.
You'll practice calculating cumulative distributions and analyzing how values accumulate across an entire dataset.
This problem is labeled as Intermediate. It assumes you’ve written a few window function queries before, but you don’t need to be an expert. Use the hints and explanations if you get stuck — they’re there to help you think through the logic.
Yes. Every problem comes with optional hints you can reveal one at a time, plus a fully worked step-by-step solution. You decide how much help you want while practicing.
All problems on PracticeWindowFunctions.com are completely free and can be solved without creating an account. Right now there are over 80 practice problems, with new ones added regularly.