Get Inspire insights from former attendees in our AMA discussion thread on Inspire Buzz. ACEs and other community members are on call all week to answer!

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Grouping top 20% of customers by store

BWitonsky
5 - Atom

Hello,

 

I am analyzing 1MM customers each tied to 1 of about 200 stores.  How can I set up a workflow to identify the top 20% in terms of revenue?  The business questions is who are the top 20% of customers who bring in about 80% of the revenue.

 

My data is straightforward; store ID, Cuistomer ID, customer revenue etc.

 

Thanks!

7 REPLIES 7
s_pichaipillai
12 - Quasar

i would suggest to use the below steps

 

1. Sort your revenue filed using SORT tool in Descending Order

2.Assign the Rank to your customers based on the Revenue. i think instead of RecordID use Multi Row Formula tool to create the rank . so that you wont miss the customers who has same Revenue

3.use the filter tool to get only top 20 Rank Customer using the Rank filed

 

does it help?

-->Saravanan

jdunkerley79
ACE Emeritus
ACE Emeritus

I would suggest you first use summarise tool to create CustomerID, SUM(Revenue)

You can then use a sort tool to order by SUM of Revenue descending.

Then finally use a sample tool to select just the first 20% records

BWitonsky
5 - Atom

Thanks!  I'll check these out and let you know what works.

MarqueeCrew
20 - Arcturus
20 - Arcturus

If you are looking for the customers that are in the top 20% of spend within each store then I'd likely approach this similarly to @jdunkerley79.  That isn't to say that @s_pichaipillai approach is anything but correct.  I would however modify the approach as:

 

Summarize by

groupby [store ID]

groupby [Cuistomer ID]

SUM [customer revenue]

 

SORT by

[Store ID] Ascending

[SUM of Customer Revenue] Descending

 

Then you could sample with a GROUPING on STORE ID and pick the first 20%

 

Now for your caveats:   

1) When you assign customer IDs have you done your best to prevent split files (an entity that has multiple customer IDs)?

2) When a single customer shops across multiple stores do you treat them based on their total value?

3) Are you looking for the number of customers that create 20% of the store's total sales versus finding the 20% of the customers with the greatest purchase history?

4) Does transaction frequency or recency have a role in your identification process?

 

Thanks,

Mark

Alteryx ACE & Top Community Contributor

Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
BWitonsky
5 - Atom

Hey all,

 

Sorry for such a late response.  By starting with yourrecomendations I found something that worked.  I now know I also did not explain what I was trying to do too well.  My issue out what % of customers generate 80% of revenue from almost 300 stores.

 

To do it, I summed revenue by store.

Joined this back to the customer data.

Sorted revenue across all stroes and put customer rev in a descending order.

I then ran a running total by store on customer revenue,.

Then added a formula to calculate run total/ store total.

Once the formula hit 80% I still had to determine the number of customers divided by total amt. of customers for that store.

 

Thanks!

Newbie_1
7 - Meteor

I have a similar question. What would be the right way to filter the top 50% contributor of the total.

 

Capture.PNG

To explain it clearly, I have the column "%Amount".After sorting the "%Amount",I need to filter out those "%Amount" whose summation is ~50% and thereby use only those  "part number" for further analysis. i.e. I need to filter for the top 50% contributor "part number" 

 

 

trettelap
8 - Asteroid

I would do a running total on the percentage and then do a manual tile to split at 50%.

Labels