Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

We're trying to develop a simple tool that will help our teams optimise their clients' Facebook posting strategies. In our experience, time of post can have a big impact on audience response; but those times will differ from audience to audience based on their behaviours (can they access Facebook from work? What times of day are they online? When are they at a loose end, and when are other activities taking up their concentration?) We expect responsiveness to vary throughout the day for these (and other known & unknown) reasons. Furthermore, of course, time of day isn't the only reason that response rates vary; the content of the post is one very significant reason.

I don't know if this background is useful; whether it makes the following question clearer.

The following R script (I lack sufficient reputation to post charts) contains data that cover posting activity and audience response by hour of post. You'll notice that the 6 am point (for which we have two observations) massively outperforms the rest of the day. We often see these very high response rates for hours that have fewer observations.

post.hour <- c(0:23)
posts <- c(0,0,0,0,0,0,2,15,16,10,17,13,29,21,23,18,29,24,34,42,51,48,49,17)
response <- c(0,0,0,0,0,0,5282,8627,6080,2716,2831,3258,6291,7756,4008,4614,11838,2611,10527,14706,5416,10970,19098,9505)
mean.response <- response/posts

d <- data.frame(post.hour,posts,response,mean.response)

library(ggplot2)

response.chart <- ggplot(d,aes(post.hour,mean.response)) +
 geom_point() + geom_line() +
 ylab("mean response") +
 opts (title="mean audience response by post hour")
response.chart

I've tried manually removing hours that have fewer than a certain number of observations:

This seems unsatisfactory, and (furthermore) is hard to automate across widely differing data sets.

  1. Should I remove these hours? If so, what statistical tools should I use to perform this repeatedly and automatically across multiple data sets?

  2. If the answer is "no" -- and I suspect that it might be -- what should I do to account for these tiny sample sizes?

Conscious that this is possibly Statistics 101 stuff. It should be clear from this that I have not - in fact - had any statistical training. I'd greatly appreciate you taking this into account if and when you respond to this question. I'm not even sure that the hourly data represent samples...

share|improve this question
I don't really understand your question. In your supplied code, is each row a "sample" or a "data point"? Typically it is the latter, but your question isn't very clear. – gmacfarlane Jun 2 '12 at 23:56
Also, removing rows that make no sense is standard procedure. Are you worried about the NaN fields in d? if so, you can remove them automatically with d.stripped <- d[which(is.na(d$mean.response) == FALSE).] – gmacfarlane Jun 3 '12 at 0:00
@gmacfarlane I wasn't particularly concerned by the NaN fields (ggplot2 seems to strip them automatically) because it's relatively useful for me to visualise a full day's worth of activity, and not simply the active period. Replacing them with zeroes seems to be a bad idea, too. I think I should probably replace them with NA? – mediaczar Jun 3 '12 at 11:47
@gmacfarlane your other question is very useful I think. I have to confess my ignorance: I don't know enough to use the terms properly. I think these are actually data points. The data supplied above are actually already the product of some cleaning and analysis. I could supply the raw data as a Google Spreadsheet; would that make this question clearer? – mediaczar Jun 3 '12 at 11:50
what does "response" mean? Is this the number of members of the public who "like" what your client has posted, or something like that? – Peter Ellis Jun 4 '12 at 21:43
show 5 more comments

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.