What is the most productive time of the day?

What is the most productive time of the day for you? Let’s answer this question using data that Aware provides.

As usual we will use R — a software environment for statistical computing — for our data analysis and visualization. If you are new to R, we recommend using an integrated development environment like R Studio. Don’t worry if you are not familiar with R; we will provide R scripts that you can use to perform this analysis for your own data.


Aware includes an “Hourly Totals” export similar to the one we used last time. The exported data has four fields.

  • "Date" is self-explanatory.
  • "Hour" contains just the hour as a number from 1 to 24.
  • "Minutes" contains the number of nonidle minutes. A minute is considered nonidle if there is some keyboard or mouse activity during that time.
  • "Words" contains the total number of words typed. We add a Day of Week column in R to simplify our analysis.

To export your data:

  1. Open the Windows command prompt and change the folder to where Aware is installed.
  2. Run the export command, which should look something like:


cd "C:\Program Files (x86)\Buckling Springs\Aware"

    --start-date "1/1/2012"
    --end-date "10/26/2015"
    --exporttype HourlyTotals
    --output-file-name c:\temp\hourlytotals.csv

Change the command line arguments as needed; for example, you can adjust the date ranges, and output file location.


Let's begin by plotting the Hour of Day vs Words typed in that hour. We also color each point by Day of Week.

Time of Day vs Words Typed

There are a large number of data points for each hour of the day, as a result a lot of points are plotted on top of each other. This over-plotting makes the plot harder to understand. Over-plotting can be reduced by adding some random noise (jitter) to the data.

Time of Day vs Words Typed - with Jitter

Overlaying a smooth curve on this graph helps us see the underlying trend.

Time of Day vs Words Typed - Trend

Looking at the smooth curve for this user’s data we notice:

  1. An overall downward trend as the day progresses.
  2. Early mornings are the most productive followed by peaks at around 10:00 AM and 3:00 PM.

We can also look at the same plot individually for each day of the week. The observations above seem to hold for all days of the workweek. You again notice a fact we mentioned earlier – the variance in data tends to go down towards the middle of the week.

Time of Day vs Words Typed - by Day of Week


How can you use the insights from this analysis to be more productive?

  1. Schedule all meetings towards the end of the workday. Preferably on Fridays.
  2. This user does not seem to work early in the mornings very often, but when she does, they are some of her most productive hours. Working earlier on more days should boost her overall productivity.

Exploring Further

As is often the case answering a question brings more similar questions to mind:

  • Are there are diminishing returns to time spent at work?
  • If so at what time does your productivity plateau?


Once you have installed R Studio download the code — TimeOfDay.R —and see what your own personal data looks like.

Leave a comment if you have any questions or run into any problems.

Happy Working,
Team Aware