# Tagging Time Spent

**URL:** <https://forum.beeminder.com/t/tagging-time-spent/232>\
**Category:** TagTime\
**Created:** [November 13, 2014, 10:02am UTC](https://forum.beeminder.com/t/tagging-time-spent/232 "2014-11-13T10:02:31Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![philip](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/philip/32/1505_2.png) [@philip](https://forum.beeminder.com/u/philip)\
**Post date:** [November 13, 2014, 10:02am UTC](https://forum.beeminder.com/t/tagging-time-spent/232/1 "2014-11-13T10:02:31Z")

</div>

Continuing the discussion from [Simplifying Beeminder](http://forum.beeminder.com/t/simplifying-beeminder/230/4):

> [@Simplifying Beeminder](https://forum.beeminder.com/t/simplifying-beeminder/230/4):
>
> would love to hear about your tag system/how you came up with it (that might deserve its own thread for others to chime in too). i finally got tagtime working but now i’m just not sure exactly what i want to do with it yet – there’s so many interesting options and i don’t know what’s most important to me yet!

My tagging is only semi-structured, which is probably right. No point spending much time agonising over what tag to use. Some of my tags are pretty consistent, others are all over the place, others become consistent. (The cntpings tool is good for exploring what you’ve tagged after the fact.)

I mark travel along with the activities that I’m travelling to do; so my daily commute would be tagged `dj travel`.

I tag _time spent at work_ separately from _time spent working_. That’s important because most jobs contract you to N hours per week, not N insanely-productive hours per week. You may want to increase the latter, but almost certainly not to 100%. (As you’d expect, Beeminder is not like most jobs, so our meta graphs don’t just reflect time spent in the office.)

You can post-process tag files. I fix misspelled tags that way, add category tags (like `fit` if it sees `run`, `swim`, etc), and to add travelling `abroad` markers for specified time periods. _( ~~Note to self, get that on github.~~ [Done](https://github.com/pjjh/TagTime).)_ Mostly this means that if you notice a mistake later, it can be fixed, so even less stress in getting the tags exhaustively complete and correct when the ping happens.

Here’s the annotated output from my (hacked) ping-counter showing tags that took more than 4% of my time over the last year.

```
$ cntpings --year --four
11599 (362d11h15:00s) / 11599 (8699h15:00s ~ 8753h23:58s) = 100%
Start: 2013-11-13 00:00:00 WED (pings before this: 10876)
  End: 2014-11-12 17:46:34 WED (pings after this: 0)
PIE:                                                                          
  tag pings pct total time time/day time/week
  *ALL* 11599 100% 362d11h15:00 23h51:01s 166h57:12s
  sleep 4006 35% 125d23h19:54 8h17:20s 58h01:22s *asleep*
  dj 1199 10% 37d16h53:11s 2h28:51s 17h21:58s *dayjob*
  arf 1121 10% 35d06h01:11s 2h19:10s 16h14:11s *girlfriend*
  social 1056 9% 33d04h57:51s 2h11:06s 15h17:42s *with folks*
  nnj 1030 9% 32d09h20:31s 2h07:52s 14h55:06s *non-dayjob-jobs*
  abroad 639 6% 20d02h15:14s 1h19:19s 9h15:19s *away from home*
  morning 569 5% 17d21h25:29s 1h10:38s 8h14:29s *getting up/ready*
  badly 566 5% 17d19h09:38s 1h10:16s 8h11:52s *subset of sleep*
  travel 554 5% 17d10h06:15s 1h08:46s 8h01:26s *en route*
  fit 497 4% 15d15h05:10s 1h01:42s 7h11:54s *fitness*
  eat 471 4% 14d19h27:50s 58:28s 6h49:19s *lower bound*
  bmndr 440 4% 13d20h04:06s 54:37s 6h22:22s *beeminder work*
  profdev 438 4% 13d18h33:32s 54:22s 6h20:38s *learning*
  mtg 407 4% 12d19h09:47s 50:31s 5h53:41s *meetings* :(
```

_n.b. I left my day job during the past year, so don’t read too much in to those values; my life patterns changed significantly!_

Also, tags are not exclusive, so heading out to dinner with my girlfriend and some friends would be tagged `arf eat social travel`, and maybe `walk` too if that’s how we got there!

> What you value is reflected in&nbsp; **p r e c i s e l y** &nbsp;how you spend your time.  
> —Tom Peters

@chelsea You’ll also slowly get used to the fact that Tagtime is random. Sometimes you’ll get pinged three times in a row, other times not for hours. And sometimes it’ll seem perverse. Just now I was writing a forum response that would’ve counted as `bmndr` (this one wouldn’t) and a friend came over; we chatted for less than 2 minutes, but when I turned back to my laptop I saw that I’d been pinged… `social`. Sigh. Just trust that, over time, it’ll build up a true picture. (And again. FFS. But now I know why a) working in coffee shops may be a bad idea, and b) I’ve got so much time racked up against `social`.)

---

<div class="post-metadata">

**Author:** ![chelsea](https://avatars.discourse-cdn.com/v4/letter/c/a3d4f5/32.png) [@chelsea](https://forum.beeminder.com/u/chelsea)\
**Post date:** [November 13, 2014, 7:26pm UTC](https://forum.beeminder.com/t/tagging-time-spent/232/2 "2014-11-13T19:26:08Z")

</div>

thanks for the excellently detailed reply! i really do just need to get over my perfectionist tendencies and go for it – like you said, i can always edit later.

and i also need to figure out how to use it at work without lugging around my own laptop (no android here)…

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [November 14, 2014, 2:22am UTC](https://forum.beeminder.com/t/tagging-time-spent/232/3 "2014-11-14T02:22:23Z")

</div>

@pjh, that’s gorgeous, can I have a copy of that script?

Even prettier: [https://alexschell.shinyapps.io/tagtime-trends/](https://alexschell.shinyapps.io/tagtime-trends/)

My pro tip for @chelsea, though no one else ever thinks this is a good idea, is to constrain yourself to 3-letter tags. It reduces the friction in answering pings, makes the layout on Android (where each tag gets a button) a lot nicer, and it turns out to to be plenty evocative. As a compromise, make tag name length inversely proportional to prevalence. Like really common activities get single-character tags.

---

<div class="post-metadata">

**Author:** ![philip](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/philip/32/1505_2.png) [@philip](https://forum.beeminder.com/u/philip)\
**Post date:** [November 14, 2014, 10:11am UTC](https://forum.beeminder.com/t/tagging-time-spent/232/4 "2014-11-14T10:11:12Z")

</div>

@dreev I’ve committed that to [https://github.com/pjjh/TagTime](https://github.com/pjjh/TagTime)

The prettier output is in `cntpings.pl` & `cntpings.sh`, the tag post-processing is in `settings.pl` & `merge.pl`

Here’s my (less gorgeous) timeline of notionally productive time:

```
$ cntpings --timeline --nwo
  period pings pct total time time/day time/week
  *week* 51 100% 1d14h15:00s 5h48:29s 40h39:25s
  *fortnight* 140 100% 4d09h00:00s 7h43:43s 54h06:05s
  *month* 283 100% 8d20h15:00s 6h55:48s 48h30:38s
  *quarter* 706 100% 22d01h30:00s 5h46:43s 40h27:06s
  *halfyear* 1372 100% 42d21h00:00s 5h36:13s 39h13:34s
  *year* 2788 100% 87d03h00:00s 5h44:07s 40h08:49s
  *ALL* 5238 100% 163d16h30:00 5h35:50s 39h10:56s
```

**UPDATE** : added another filtering option

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [November 16, 2014, 9:37am UTC](https://forum.beeminder.com/t/tagging-time-spent/232/5 "2014-11-16T09:37:22Z")

</div>

FWIW, after some experiments I have an extremely simple tagtime structure: I only use tags that correspond directly to beeminder goals.

This is partly an artifact of the fact that it’s a complete nuisance to get data off the android app, but I’ve also found it usefully clarifying in terms of trying to decide what I care about tagging: It means that I only tag things where if the numbers turned out to be a certain way I would want to move them.

My current tags for this are: sitting, reading non-fiction books, being outside (the latter will archive in a week though). I used to have more but I’m currently engaged in an extremely harsh culling of my beeminder goals.

---

<div class="post-metadata">

**Author:** ![gaidheal](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/gaidheal/32/450_2.png) [@gaidheal](https://forum.beeminder.com/u/gaidheal)\
**Post date:** [April 24, 2015, 10:27pm UTC](https://forum.beeminder.com/t/tagging-time-spent/232/6 "2015-04-24T22:27:45Z")

</div>

I started using tagtime by tagging roughly whatever I was engaged in. I realised after a while that what it was most useful for was figuring out whether I was (a) doing something, (b) half attending to something I was doing and half distracted or © just distracted. I deleted my logs and started again (I haven’t Beeminded it yet, I was experimenting) with just two tags, which would cover the three scenarios above. I noticed the above use when, on several occasions, I was pinged and realised I was distracted and needed to get back to work.

---

<div class="post-metadata">

**Author:** ![dollarflipper](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dollarflipper/32/109_2.png) [@dollarflipper](https://forum.beeminder.com/u/dollarflipper)\
**Post date:** [May 1, 2015, 3:42pm UTC](https://forum.beeminder.com/t/tagging-time-spent/232/7 "2015-05-01T15:42:19Z")

</div>

> [@gaidheal](#):
>
> t

I also do something similar. I like to use the randomness to take a moment and just breath and be in the moment. I’m not beeminding it either, but I feel like I need to pair down some of the tags that aren’t that important.

I want it to be “Am I working on/doing something that I consciously chose” or “am I being an idiot just surfing around the internet.”

---

<div class="post-metadata">

**Author:** ![bradleydeanwoods](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/bradleydeanwoods/32/141_2.png) [@bradleydeanwoods](https://forum.beeminder.com/u/bradleydeanwoods)\
**Post date:** [May 1, 2015, 6:31pm UTC](https://forum.beeminder.com/t/tagging-time-spent/232/8 "2015-05-01T18:31:04Z")

</div>

Agreed this is the best idea I have heard yet. I use rescuetime for my daily time tracking but tagtime could be really good for tracking your attention level

---

<div class="post-metadata">

**Author:** ![mary](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/mary/32/317_2.png) [@mary](https://forum.beeminder.com/u/mary)\
**Post date:** [July 31, 2018, 4:04pm UTC](https://forum.beeminder.com/t/tagging-time-spent/232/9 "2018-07-31T16:04:23Z")

</div>

[I know this thread’s old, but it seemed like the most appropriate place for these thoughts as I’m figuring out how to set up my TagTime categories.]

Given the calculations by @dreev [in another thread](http://forum.beeminder.com/t/philosophical-setup-instructions-for-tagtime/4012/6) that [quote=“dreev, post:6, topic:4012”]  
If TagTime says you spent 220 hours there’s a 90% chance that’s within 10% of the truth  
[/quote], then if, say, you only valued data that would give you that confidence level & margin of error at the end of a single year, there’d be no point in tracking anything on which you’d spend fewer than about 36 minutes a day on average (220 hours/year), right?

Most won’t actually value the information only if it’s at that confidence level etc., but it still might help with getting a little perspective about how to break things up. Knowing how much time is needed given the confidence level, etc. you want over the timeframe that matters to you seems like it can help in figuring out how to divide up tags into appropriately-sized categories, avoiding splitting larger categories into too many activities, which might be considerably less accurate anyway. (Likewise, knowing which things you absolutely want to be fairly accurate about might also be a good way of working out what interval works for you. E.g. if there’s a 10-minutes-per-day activity about which relative accuracy is particularly important to you, a 45-minute interval might not be the right fit.)

Anyway, assuming it’s year-end totals I care about, if I’m spending only 5 to 20 minutes per day on something, it’s probably not worth tracking as a separate tag, right? Am I being wrongheaded in my thinking here?

---

<div class="post-metadata">

**Author:** ![philip](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/philip/32/1505_2.png) [@philip](https://forum.beeminder.com/u/philip)\
**Post date:** [July 31, 2018, 5:23pm UTC](https://forum.beeminder.com/t/tagging-time-spent/232/10 "2018-07-31T17:23:08Z")

</div>

> [@mary](#):
>
> E.g. if there’s a 10-minutes-per-day activity about which relative accuracy is particularly important to you, a 45-minute interval might not be the right fit.)

If there’s an activity about which relative accuracy is particularly important to you, maybe tagtime isn’t the right fit…

I use both a timer and tagtime. They’ve got different usefulnesses.

Good point about tag granularity! My tagtime log merging script also adds category tags, which means that I don’t have to remember to add them manually. Now that you mention it, this also means that my ‘work’ tag is a better indicator of hours worked than any of the individual client or project tags…

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [August 1, 2018, 7:07am UTC](https://forum.beeminder.com/t/tagging-time-spent/232/11 "2018-08-01T07:07:35Z")

</div>

> [@philip](#):
>
> If there’s an activity about which relative accuracy is particularly important to you, maybe tagtime isn’t the right fit…

That’s a strange thing to say… why would you say that? Over time tagtime will get very accurate. You just have to choose the correct interval for the amount of time you spend on the activity.

---

<div class="post-metadata">

**Author:** ![philip](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/philip/32/1505_2.png) [@philip](https://forum.beeminder.com/u/philip)\
**Post date:** [August 1, 2018, 9:39am UTC](https://forum.beeminder.com/t/tagging-time-spent/232/12 "2018-08-01T09:39:37Z")

</div>

Mathematically speaking, that’s correct. For any given volume of activity and desired confidence level over a time interval, there is a ping interval that will in theory get you that confidence.

But… the human cost might not be worth it, given that even the default 45 minute pingterval will sometimes result in multiple pings per minute. I find that more annoying to deal with than the long periods of pinglessness.

Worse, we’re not usually talking about a single activity, but about monitoring a number of activities that take different anticipated actual volumes of time. And yet, there’s only one ping interval, which means that your confidence in TagTime’s representation of the true elapsed time will also vary per task. An interval that works well for tracking one task may be too [in]frequent for another task.

* * *

I use both a timer and tagtime, but for different purposes, though sometimes for the same tasks. Neither approach subsumes the other.

In particular, I find it stressful to tie my Beeminder goals to the randomness of TagTime, so my goals are mostly timer-based, even if I use TagTime to look at the trends of time spent.

@drmaciver has outlined a brilliant approach to mix modes, so that you could switch between pings and a timer without invalidating the math.

---

<div class="post-metadata">

**Author:** ![mary](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/mary/32/317_2.png) [@mary](https://forum.beeminder.com/u/mary)\
**Post date:** [August 2, 2018, 7:40pm UTC](https://forum.beeminder.com/t/tagging-time-spent/232/13 "2018-08-02T19:40:12Z")

</div>

In the end, I decided to break my tracking up into larger categories, each with smaller sub-categories. The larger categories’ll be what’s most accurate over time, and will let me keep an eye on whether my time is balanced roughly the way I’d like, and the sub-categories can be just interesting extra info. with varying degrees of accuracy. We’ll see how that works out as I play with it.
