
Description:
The workbook includes calculations of RFM segments and basic views on top of that.
For those who not interested in the whole story, the final calculations are
under RFM Dim Folder in Dimensions, and complimentary RFM Dim views.
For those who have a spare time to walk through, the journey began
in March 2014 with the foundational blog article by null :
Recency, Frequency, Monetary analysis in Tableau | Bora Beran
null used RANK_PERCENTILE() Table Calculation along each (R F & M) scale,
and his approach is reflected in the current workbook -- with the calculations found under
RFM Table Calcs Folder (in Measures). The first seven views are based on that logic.
The main complication is that the model is based solely on Table Calculations.
There are the consequences of that approach, below are just two main points.
First, to re-use the results (calculated RFM segments for each Customer / Period)
one need to materialise them -- either by exporting view data to a file
or by copy-pasting into the new Clipboard datasource to use in place.
These manual steps have to be repeated upon any change in the process.
Second, analysing segmentation results on-the-fly -- counting Customers in segments,
calculating boundaries, aggregating other useful metrics, such as Sales Amount --
becomes harder if possible at all. One outta use fancy viz techniques and calculations
just to get a minimum level of sense-making of the data (see views 5th to 7th).
Besides, I've been surprised (several times) to find the packed bubbles
to be especially effective when explaining RFM segmentation
to those (uninitiated) unfamiliar with the topic :-)
To overcome the complexity of making RFM all Table Calcs
one needs to figure out how to implement them as Dimensions.
The approach would be using PERCENTILE() -- the aggregate calc --
inside a LOD expression, which could be wrapped in a FIXED LOD.
The feasibility of this approach became obvious when I first saw
null answering the question about
Re: How to create dynamic ranges based on percentile values?
Answering the thread ends up with the calculations very similar
to those used for Frequency (the F component of RFM model).
They are summarised in the RFM F Workout section of the workbook
(the Folder in Measures and the View of the same name).
And making RFM Dimensions from that seems relatively straightforward.
End of the story :-)
Screenshot:
Tableau Version: 10.0
Original Author: null
PS UPDATED the workbook, added simplified
(all FIXED) versions of RFM Dim calculations.
They're named as [RFM ... -- SR] --
huge thanks to null,
who had just re-invented it here:
Re: How to make financial projection models
PPS Jul-28, 2018 UPDATE:
Added a simplified workbook -- no RFM Segmentation Periods,
Quartiles instead of Quintiles, hence R, F & M Codes 1 to 4 --
together with a complementary Tableau Prep Workflow:
The flow would allow doing the actual RFM Segmentation right in Prep,
then joining the final RFM Codes table to any target dataset ( ON [Customer ID] ).
Renamed the original workbook to RFM_Original_v10.0.twbx
Hello Yuriy,
Thanks for the great work and sorry to bring this rather old topic up. Do you see any way to make the RFM calculations dynamic based on a date?
In this example I have a 'static' picture as of today of each customer, but it would be great to see the evolution of the position of the customer as it was at the end of the year/quarter/month etc.