Research:MoodBar/Response time

Walnut.svg
This page in a nutshell: This page is a work-in-progress of a report of research on MoodBar, an experimental feature of the English Wikipedia, part of the New Editor Engagement initiative.

This text is a placeholder

Random information I need to note down somewhereEdit

  • The number of feedback that the dashboard shows is 20. Every time an editor scrolls down, it loads 20 more.
  • The dashboard already allows to filter by: mood, unresponded to.
  • The dashboard does not show to the responders whether the feedback was posted while editing or not.
  • The dashboard shows the top responders (of the day?) but not how many responders are currently active.

Testing weekly and circadian effectsEdit

 
Figure 1:
Response time (in log(days)) versus hour of day of posting mood.
 
Figure 2:
Histogram of response time (in log(days)) versus hour of day of posting mood.
 
Figure 3:
Response time (in log(days)) versus day of week of posting mood.
 
Figure 4:
Histogram of response time (in log(days)) versus day of of week of posting mood.

This stuff is here only temporarily.

> # test weekly differences
> kruskal.test(log(response) ~ wday + mood, data = moodbar[moodbar$status == 1,])

	Kruskal-Wallis rank sum test

data:  log(response) by wday by mood 
Kruskal-Wallis chi-squared = 53.3929, df = 6, p-value = 9.778e-10


> # test hourly differences
> kruskal.test(log(response) ~ hour + mood, data = moodbar[moodbar$status == 1,])

	Kruskal-Wallis rank sum test

data:  log(response) by hour by mood 
Kruskal-Wallis chi-squared = 126.4277, df = 23, p-value = 2.863e-16

Survival analysisEdit

Survivor function plots:

 
Figure 1:
Survivor Function (while editing)
 
Figure 2:
Survivor function (while not editing)

Still to do: hazard function plots

This stuff is here only temporarily. The table should be wikified:

> print(km.fit)
Call: survfit(formula = moodbar.formula, data = moodbar)

                                               records n.max n.start events median 0.95LCL 0.95UCL
mood=confused, strata(is_editing)=is_editing=0    3159  3159    3159   1877  0.324   0.261   0.402
mood=confused, strata(is_editing)=is_editing=1     547   547     547    330  0.300   0.188   0.556
mood=happy, strata(is_editing)=is_editing=0       7259  7259    7259   1459     NA      NA      NA
mood=happy, strata(is_editing)=is_editing=1       1050  1050    1050    211     NA      NA      NA
mood=sad, strata(is_editing)=is_editing=0         1683  1683    1683    953  0.676   0.466   1.022
mood=sad, strata(is_editing)=is_editing=1          187   187     187    110  0.358   0.145   1.230

> # Peto test for difference of survival
> survdiff(moodbar.formula, data = moodbar, rho = 1)
Call:
survdiff(formula = moodbar.formula, data = moodbar, rho = 1)

                 N Observed Expected (O-E)^2/E (O-E)^2/V
mood=confused 3706     1805      936       808      1252
mood=happy    8309     1398     2634       581      1980
mood=sad      1870      858      491       274       371

 Chisq= 1992  on 2 degrees of freedom, p= 0 

> m1 <- moodbar[moodbar$mood != "happy",]
> m1$wday <- factor(as.POSIXlt(m1$mood_time, tz = "UTC")$wday)
> levels(m1$wday) <- c("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
> survdiff(Surv(ttresponse, status) ~ mood + strata(is_editing, wday), data = m1)
Call:
survdiff(formula = Surv(ttresponse, status) ~ mood + strata(is_editing, 
    wday), data = m1)

                 N Observed Expected (O-E)^2/E (O-E)^2/V
mood=confused 3706     2207     2142      1.95       5.7
mood=sad      1870     1063     1128      3.70       5.7

 Chisq= 5.7  on 1 degrees of freedom, p= 0.0169