UI: Stats box

This thread is for discussion about the ‘Stats’ box that appears on the right hand side of the goal page.

On 11 June 2015 it showed something like this:

AVG RATE 6.63 per week

Edit: #UVI



Split this box into 2 sections and add some more data about the datapoints as well as the road.

AVERAGE RATE 6.63 per week
AVERAGE RATE 22.22 per week  (for lifetime of goal)
LAST 7 DAYS 16 ↑      (up arrow here because I'm above my road rate)

The real version would of course have nicer formatting :slight_smile:


Currently (29 July 2015)
“Cur daily rate” is shown to 2 decimal places. (this is fine.)
it should round UP[1] so that it’s possible to stay on the road always doing this amount.
It’s better to be doing too much and building buffer, than to be doing to little on a day.

[1] For do more roads, adjust direction for other goal types as appropriate.


Stats currently shown

  1. Current daily rate of the Yellow Brick Road
  2. Current weekly rate of the Yellow Brick Road
  3. Average rate of the Yellow Brick Road from start to goal date
  4. Number of datapoints
  5. 90% variance

Ideas for stats (#UVI)

  1. All-time average rate based on data
  2. Average rate based on data since x-min
  3. Average rate based on data for last 7 days (with up-arrow if greater than road rate)
  4. Average rate based on data for days 8-14 ago (with week over week stats).

This is a wiki. We’ll keep editing it with proposals and things we implement.


New user here, came looking for exactly this and started a new thread at Is there an equivalent to the Stats box for actual data points? before I was pointed to this existing one.

The suggested changes above would be very helpful.


Some of these things have been implemented.


Very cool!

It seems that for a cumulative goal (say, word count) the relevant point is the ‘mean delta’, which is presumably the average daily increase? Although could anyone clarify if it only counts days with datapoints, or are all days counted whether data was submitted or not?

I think that both “average delta on all days” and “average delta only on days with points submitted” would both be very useful to know.

Also, does “mean of all datapoints” have any meaning at all on a cumulative goal? I’m struggling to see it if so. Though all data is good to have, of course ;p

Edit: Just seen the tweet saying both means interpolate gaps in data, so they’re effectively the mean of ALL days whether or not data was uploaded. Weirdly, this is the opposite of what I’d naively expect, but that might just be me. Still, this is super useful :slight_smile: - great uvi!



I can! It’s my one corner of the code that computes stats like this, along with the static graph image. (Well, me and @saranli) When I first deployed this feature it was only using explicit datapoints. Then that seemed all wrong for one of my own graphs so I made it count all implicit ones as well. The nice thing about counting implicit datapoints is that the mean delta tells you the overall daily rate since the first datapoint. So it can help inform your future road rate. Maybe next we want mean delta just for the past week or month?

It totally (tee hee) doesn’t. But it seemed hard to automatically decide for sure when which would be meaningful so I figured I’d start with both of them always there and later we can decide conditions when it’s safe to exclude some. As you said, all data is good to have, right? :slight_smile:

PS: Just noticed your edit about you figuring this all out already, but they were great questions so I’ll go ahead and post this reply even if @enhughesiasm (love that username so much!) doesn’t need it anymore.


Just spent several minutes trying to figure out what on earth “average” could mean when it clearly wasn’t an average of my actual rate of progress to date. I also had no idea what “mean delta” was, despite the fact that it was nearly what I was looking for (but daily, rather than weekly). Can the labels be made more clear, or at least given more useful hovertext?


I’d love to see the stats box updated to account for retro- or auto-ratcheting. Most of my goals are set to a minimum requirement that I usually exceed, with auto-ratchet making sure I don’t build up too much of a buffer. (For example, I want to swing dance at least once a week, but often go two or three times a week.) The stats box is useless there, since it shows my road always being at once a week, even with the auto-ratcheting. What I’d much prefer to know is how often on average I actually do go swing dancing.

Likewise, if I had a goal that derailed all the time, knowing that my road was set to X wouldn’t help me if my actual accomplishments were far less than X.

1 Like

The badly-named mean delta seems to be roughly what you’re looking for, telling you the average number of times per day that you go swing dancing.

1 Like

Huh, yeah, thanks! That makes sense, although the naming is definitely confusing. It seems like it’s taking into account all of time for the goal, though, rather than just what’s shown on the current x-axis limits, which is somewhat problematic for goals that have been archived and subsequently un-archived.


Chiming in to say that calculating an average rate over the lifetime of a goal is worthless to me, and I’d much prefer to see the average of all past data with no inference into the future.

For example, here’s what my “drink 1.5 liters of water a day” goal looks like right now:

As you can see, I’m doing a good job of averaging 1500 ml of water every day. Yet these are my statistics:


The average rate in no way reflects my actual behavior, or even my intended behavior – the reason it’s so low is that the due date is ten years in the future, but I’ve set my rate to 0 starting January 1, 2018 (because I plan my goals on a yearly basis and consciously choosing next year’s commitment, rather than defaulting to what I did the previous year, is part of that process). I don’t intend to drink no water for the next nine years; I just intend to make myself review my commitment at the end of this year. So the average rate tells me absolutely nothing useful at all – and I’d argue that extrapolating TEN YEARS into an akratic’s future is a pretty insane thing to do, anyway.


What if you change the end date of the goal to 31/dec/2017?

That would give me the rate I’d like to know, but it has drawbacks: among them, that I don’t want the goal to end at the end of the year. I know I can change the end date as it nears, but I’d rather avoid the mental signal of a bullseye on Dec 31 signaling completion.

Also, it’s a kludge. Its only purpose is to solve a flaw in the software.

Upon further musing, I’ve come up with a couple of suggestions:

  • rename the current ‘average rate’ to something like slope of total road
  • add something like historic average rate or average rate so far : the average rate of all your past data points (ie, slope of the line connecting your starting value with your current total)
  • possibly add something like average rate over past month. Granted, the mini-time frame a user might find useful will vary, so…
  • for total awesomeness, add a tool for the user to click on any two points on the graph and calculate the average rate for that segment

I’d say the first suggestion is vital, at any rate, because ‘average rate’ means something so completely different to me than what I’m actually seeing there. What I’d expect to see is what’s in suggestion two, so adding that would be awesome. Suggestions three and four would be cherries on the cake.

1 Like

Just noticed that the avg rate is in a section called road stats. The design could be improved to make the distinction between road and data stats clearer.

I’m also mostly interested in data stats. Road stats are (presumably) most useful for the truly akratic, where the road and the data are pretty similar.

Also just noticed that the data stat mean is weird. On pjh/eating it’s reporting a mean of 159.4, on a goal where the largest datapoint to date is 46.

It’s the mean total. It’s not very meaningful for cumulative goals. (Actually, I’m not sure it’s super useful even for odometer goals.)

1 Like