6 Replies Latest reply on Sep 1, 2016 11:18 PM by shahabaz shafi

    Website user behaviour flow

    Deelip athmakur



      We want to track how our customers are using our web application, and i want to be able to show the how users are moving from one page to another, just like google analytics - behavior flow model. We want to able to track individual customer usage.


      Any ideas on how I can create the visualization ?

        • 1. Re: Website user behaviour flow
          Sameer Patil

          Hi Deelip,


          Have you tried Sankeys? Pl follow this link, might be helpful to come up with some idea.

          Decision trees, flow diagrams, sankeys in Tableau... here is a solution !!! 


          - Sameer

          • 2. Re: Website user behaviour flow
            Deelip athmakur

            Thanks a lot!!

            • 3. Re: Website user behaviour flow
              Deelip athmakur

              Is there any other way to do this? As my dataset is more parallel config. Its like in one column all the steps are recorded.



              Deelip M A

              • 4. Re: Website user behaviour flow
                Sameer Patil

                Hi Deelip,

                I'm not sure and also i doubt if you can have any out of box solution for it. You can put that in idea section of this forum, thanks.


                Regards, Sameer

                • 5. Re: Website user behaviour flow
                  Cameron Boy

                  Hi Deelip,


                  I believe I may have been in your exact shoes a few months ago. This was exactly what I wanted to replicate when I saw GAnalytics user flow! I struggled for awhile but I finally got what I was looking for and I believe it may be what you're looking for, too. I've removed most labels from the image to keep private my data. The far left segment is pockets of users segmented by a parameter. Then they 'flow' from page to page from there where size is the number of sessions.






                  My site data is also parallel in the database, i.e. every row is a click so one session contains numerous rows--Not what I needed. I needed a new 'structure' for my data to fit this example I wanted to use from Data + Science


                  If you know your way around some advanced sql you can restructure your web activity data  so each session has it's own row and the individual steps are transposed horizontally. For brevity I wont' go into the steps I used but here's the high-level outcome.


                  From This:

                  Session_idtimestampSteps taken in site
                  19/15/2015 13:17News
                  19/15/2015 13:18Discussion Board
                  19/15/2015 13:19About Us
                  29/17/2015 13:19Discussion Board
                  29/17/2015 13:18News
                  39/18/2015 13:19Profile
                  39/18/2015 13:20About Us
                  39/18/2015 13:21New Products



                  To this:                                  *This link column is vital

                  Session_idStep 1LinkStep 2Step 3
                  1News1Discussion BoardAbout Us
                  2Discussion Board1News{null}
                  3Profile1About UsNew Products



                  Once the data is restructured horizontally like above and you've got a new column that just contains 1 in each row, you can join it to this subquery (using the Link column with 1's in it) Since the visualization uses polygons, each session /row needs to be duplicated 98 times. These extra rows contain T values from -6 to 6 to trace the S-curves. For more info on this, search Sigmoid function.


                  SELECT 1 AS link,

                        -6 + 0.25 * (LEVEL - 1) AS t,

                        LEVEL - 1 AS path,

                        'Min' AS min_max

                    FROM dual

                  CONNECT BY LEVEL <= 49


                  SELECT 1 AS link,

                        6 - 0.25 * (LEVEL - 1) AS t,

                        (LEVEL - 1) + 49 AS path,

                        'Max' AS min_max

                    FROM dual

                  CONNECT BY LEVEL <= 49

                  order by 4 desc,2



                  Then follow this example ( Data + Science ) written by  Olivier Cathin (http://community.tableau.com/people/olivier.catherin) - a true jedi - and it's fairly straight forward from there, pay close attention to the partitioning / addressing portions of the table calcs and you can disregard downloading and joining on the excel document Olivier spells out in the example, you already took care of that step with the subquery above.


                  Hope this gives you some moment to push on!



                  • 6. Re: Website user behaviour flow
                    shahabaz shafi

                    I know this is a silly question, but still. Which Dimension you used to create this Behaviour Flow in Tableau, used any specific logic ? Please help