How I Track My Time

Kristin Stephens-Martinez
8 min readJul 23, 2024

--

A common tactic for better managing your workload is tracking how you spend your time. But what does that even mean? Most of what I’ve read explains it in a few brief sentences, which I find dissatisfying. There are so many ways to track your time, after all!

[This article is also posted on my personal blog.]

So, here is how I track my time. And I’ll frame this blog post as a case study to help you think about what would work for you. I do not recommend starting by doing what I do because my process is the evolution of 10+ years of tracking. Moreover, I’m a data geek who loves to play with data. A simple piece of paper where you jot down start and end times can be good enough. This blog post is more for those who want something a bit more technical, like a spreadsheet that you can use to do some math for you and more easily analyze the results.

Why do I track my time?

Knowing why you are tracking your time is valuable framing to help you decide how you will do it. I track my time for three reasons: accountability, mindfulness, and data.

I write down what I’m doing to keep myself accountable to what I should be doing. Sometimes, I even write down what I am doing next in my spreadsheet with no end time. There are times I get distracted, and writing it down helps me reorient toward what I should be doing.

Accountability goes hand in hand with mindfulness. I’ve heard of ways to automate time tracking, but I manually write things into my spreadsheet to mindfully pay attention to how I spend my time. It helps me notice when I get distracted (and, therefore, potentially need to update what I originally wrote down) or when things take longer than intended (which I know because I use my calendar to block out time for tasks). This mindfulness helps me notice things like how I’m trying to do deep work but keep getting distracted by notifications that could wait, so I need to turn on Do Not Disturb.

Finally, the data complements how I use my calendar to understand historical trends. After all, I’m a computer scientist who teaches data science! Of course, I use my data to understand trends. Do I always use it? No, I suffer from the planning fallacy as much as anyone else. I most often use it at the beginning of each term when I’m blocking out my weekly cadence tasks like preparing for class and how much time I need to block out each week to work on exams so I’m done on time (hint: use the variance and mean together to make a better prediction). There’s nothing like looking at your own data to really feel the meaning of those summative statistics!

How do I track my time?

Image with graphs and spreadsheet stuff in the background with the words “Ooooh, this calls for a spreadsheet!”

I love spreadsheets, so of course, I use one for this task. I have one spreadsheet per year since 2019 that tracks my work time, and I tracked all my time for five years in grad school. I’ve wanted to understand how I spend my time for a long time. Researchers that do time series analysis; if you are interested, message me. I’m sure there are tons of insights in that data that I am unaware of!

Each row represents a timeslot, and I label it with a three-level hierarchy that includes an optional fourth level: category, project, activity, and task. The names are arbitrary. Pick names that work for you. What matters is that there is a hierarchy. Here’s some more detail of what each level means to me:

  • Category — This has the fewest labels and partially aligns with the typical things I do as a professor. There are just 8: teaching, research, service, outreach, career, conference, funding, and other. Understanding how much time I spend in each category helps me understand how well my time aligns with how I’m evaluated as a professor.
  • Project — The number of projects highly depends on the category. Some are straightforward. Teaching has one “project” per course, conference has one per conference, funding has one per grant proposal, and outreach only has my podcast (The CS-Ed Podcast) and this blog. Research and service have many more projects and are labeled semi-arbitrarily. The research projects could be per student, a manuscript for a publication venue, or something generic like the “reading” project, where I consume literature without targeting it toward a particular project. Service projects could be particular committees or responsibilities, such as the general “References letter” project for the many letters I write for students.
  • Activity — This is the actual thing I’m doing for that project, like paper outlining, latex, or writing. It could also be things like a meeting or travel time (because I am still plagued by Berkeley time, and the 0-travel time for Zoom meetings has not helped).
  • Task — This is my optional label because sometimes I want to differentiate between activities. For example, the activity could be “lecture prep” and the task is which lecture I am preparing for. Filling in the task gives me a better sense of how long it takes to prepare per lecture since sometimes preparing for a single lecture gets broken up across multiple activity sessions.

I have 346 (category, project, activity) tuples. While that sounds like a lot, it’s far less than the combinatorics of 8 categories by 52 unique projects by 171 unique activities. The numbers also constantly fluctuate as I add new things or fix discrepancies. The hierarchical nature of this label system also makes it reasonably easy to remember what a particular label is, and spreadsheets often provide suggested text within a column, so I’m not always typing out the entire thing.

So now that I’ve established how I label a row, how else do I implement my time tracking? Every row has a start and end time, and I round to the nearest 15 minutes. If I do multiple things that normally would get different labels, I pick the thing that took up most of that time slot. I’m not going for super accurate precision, just a general sense, and I assume it averages out in the end. There are also columns that calculate the date, month, week of the year, day of the week, and duration in hours, all with bits of other practical logic, like using the IF function to calculate these things only if the end time is filled in.

What do I do with this information?

Obviously, you can do whatever you want. Here’s what I do as an example to help you think through things. I have a standard set of pivot tables and graphs that I port over each year, and then extra tabs appear for specific explorations each year. My standard tabs include:

  • Labels pivot table — This is a pivot table of the original table for my four-level label hierarchy. The values in the table are the average time per entry and the total time and number of times for this tuple. I use this table mainly to get a sense of how long things take me per activity/task.
  • Daily pivot table — A pivot table of the original table where a row is a day, a column is a category, and the value is the total time.
  • Daily data — This table takes the daily pivot table and ensures every day of the year is present, along with some auto-calculated columns that feed other tabs. The daily pivot table only has rows for days I work, which can cause wonky things for other tabs if days are missing. I also use the daily data tab to track how many hours I work on the weekends.
  • Daily graph — A Google spreadsheet’s timeline graph where the lines are per category, the x-axis is time, and the y-axis is total hours.
  • Weekly — This tab works hard. It uses the query function to create a table where a row is a week, and it provides the total hours for teaching, service, other, and the rest of the categories combined into a research+career group. A second table shows the proportions of the first table. Then, I have two stacked bar charts that mirror the tables. This data helps me understand the magnitude of how I spend my time, as well as compare the proportions between categories.
  • Monthly — This is similar to the weekly tab, except by month.

I use the daily data tab the most to understand how many hours I work a day and monitor how many hours I work on the weekends. The labels pivot table is also useful to help me be consistent about my labels.

My two most recent extra tabs investigated producing exams and my podcast time. For producing exams, I’m still working on how long they take me. And I use the word produce on purpose because writing is part of it, but there’s so much more: brainstorming, outlining, coding/debugging, testing it on TAs, writing rubrics, logistics, latex, grading, and regrades. I did a deep dive recently to understand what activities were in my control to try and reduce. The analysis made me realize that the time cost to me of writing multiple versions for my course was not worth it.

The other analysis was to understand the general overhead and how long each episode took me for my podcast, The CS-Ed Podcast. I release 1 episode every two months. I wanted to figure out if what I was getting out of making the podcast was worth the time spent and how much I would need to earn on my podcast’s Patreon to make it worth producing episodes at a faster rate. I was happy to see that it was less time than it used to be, but I also wasn’t likely to want to produce at a faster rate unless there was a significant change in my circumstances around the podcast.

Conclusion/Should you try this?

To me, the answer is a resounding maybe. Try it for a week? Yes, I think it is worth it to understand how you actually spend your time, and one week isn’t that big of a lift. Set up your own version of my elaborate spreadsheet system? No, I built my system over 10+ years of slowly tweaking it to fit my needs. Create a spreadsheet instead of using paper? Whatever lowers the barrier of entry. I am a computer scientist, so I find a spreadsheet I can edit on my computer or phone more compelling than a piece of paper that is not always with me. Especially when I can easily query it for all my data analysis desires.

My main hope with this blog post is to provide a case study of how to track your time in a spreadsheet that is more than the few sentences I’ve often seen. I recommend taking whatever you find compelling/valuable from my framework and discarding the rest. And if you have questions, please ask me in the comments!

--

--

Kristin Stephens-Martinez

Creator and host of The CS-Ed Podcast https://csedpodcast.org/ Associate Professor of the Practice in Computer Science at Duke University.