All problems

The Event Census

easySQLGroupBy

Before Kindled trusts a single funnel percentage, the growth lead wants to see what the tracking actually captured. The events table records one row per action a shopper took, and the four kinds of action are the steps of the funnel: arriving, looking at a product, putting it in a basket, buying. A tally of the raw rows is the sanity check — if a step records suspiciously few rows, the problem may be the tracker rather than the shoppers.

events — one row per tracked action. user_id points at a row in users. event_type is one of signup, view_product, add_to_cart and purchase. event_date is the day the action happened. Nothing guarantees a person produces all four kinds, or any particular number of rows.

id user_id event_type event_date
1 1 signup 2023-05-01
2 1 view_product 2023-05-01
3 1 add_to_cart 2023-05-02
4 1 purchase 2023-05-03
5 2 signup 2023-05-02
6 2 view_product 2023-05-02
7 3 signup 2023-05-03
8 3 view_product 2023-05-03
9 3 add_to_cart 2023-05-04
10 4 signup 2023-05-04
11 4 view_product 2023-05-05
12 4 add_to_cart 2023-05-05
13 4 purchase 2023-05-06
14 5 signup 2023-05-05
15 6 signup 2023-05-06
16 6 view_product 2023-05-06
17 7 signup 2023-05-07
18 7 view_product 2023-05-07
19 7 add_to_cart 2023-05-08
20 7 purchase 2023-05-09
21 8 signup 2023-05-08

The table already exists in the database — there is nothing to create or load.

Task: Write a query that returns one row per kind of action, with columns event_type and n, n being how many rows of that kind the table holds. Most frequent first; kinds on the same count are listed alphabetically by event_type.

Example output — shape only, on invented tallies. The event_type labels are the real stored ones:

event_type n
signup 34
view_product 27
purchase 15
add_to_cart 9

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…