Expand my Community achievements bar.

Join us for the next Community Q&A Coffee Break on Tuesday April 23, 2024 with Eric Matisoff, Principal Evangelist, Analytics & Data Science, who will join us to discuss all the big news and announcements from Summit 2024!
SOLVED

Calculating New Visitors for the whole website vs. specific page using adobe datafeed?

Avatar

Level 1

I am trying to calculate New Visitors for the whole website as well as a particular page, I was thinking of using the below logic:

Visit_num = 1 (New Visitor)

Visit_num > 1 (Repear Visitor)

But this will give me new vs. repeat for the whole website; is there a way to calculate the same for a particular page on the website, I was thinking of using Visit_page_num; but not sure if that logic would work.

 

Would appreciate any guidance around calculating New vs. Repeat directly from data warehouse in Adobe.

 

@Gigazelle @MihneaD @Andrew_Wathen_ @Urs_Boller @MichaelWon @JarnoRossiLuxottica @csessoms 

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 4

This rough approach uses dplyr in R, but could be adapted for a different tool:

 

group_by(userID, post_pagename) %>%

filter(!is.na(post_pagename) %>%
arrange(hit_time_gmt) %>%
mutate(pageViewNum = 1,
pageViewNum = cumsum(pageViewNum),
firstVisitToPage = ifelse(pageViewNum == 1, 1, 0)) %>%
ungroup()

Group by userID and page name
Remove rows without a post_pagename value (to get page views only)
Order by hit time
Set a dummy value of 1 for each instance of a page name.
Then over-write that value with the cumulative value (the first time a user sees the page 1, second time 2, etc)
Create a column that says if this is the first time a user has viewed the page 1, otherwise 0.

View solution in original post

2 Replies

Avatar

Correct answer by
Level 4

This rough approach uses dplyr in R, but could be adapted for a different tool:

 

group_by(userID, post_pagename) %>%

filter(!is.na(post_pagename) %>%
arrange(hit_time_gmt) %>%
mutate(pageViewNum = 1,
pageViewNum = cumsum(pageViewNum),
firstVisitToPage = ifelse(pageViewNum == 1, 1, 0)) %>%
ungroup()

Group by userID and page name
Remove rows without a post_pagename value (to get page views only)
Order by hit time
Set a dummy value of 1 for each instance of a page name.
Then over-write that value with the cumulative value (the first time a user sees the page 1, second time 2, etc)
Create a column that says if this is the first time a user has viewed the page 1, otherwise 0.

Avatar

Community Advisor

If you beed just a number. you could try the following: calculate the "new visitors" based on "unique visitors since xx month" minus "unique visitors since xx month but not the month in question".

 

example: if you define "new visitor as someone who hasn't been on a single site since 12 month", you would calculate the new visitors for last month with

a) UV in the last 13 month (12 + 1 month)

b) UV in the ladt 13 month but not last month

the difference is the amount of UV in the desired month

 

remark: you can get the numbers by following this steps:

1) create the rolling date ranges

2) create segments for each of the date ranges

3 create the calculate metric using the segments

 

side note: this solution only gives you a number, not really a segment to work with. I haven't found an easy solution to create a similar segment just using the default analytic dimensions...