BUG: 1 year Steps view only shows data for 364 days

For example, today is Sep 19, 2025 [2025-09-19]

If I open the Connect site and navigate to Activities > Steps > 1 Year, I'm taken to this URL: https://connect.garmin.com/modern/steps/2025-09-19/3  

I think it should be obvious that 2024 Sep 21 - 2025 Sep 19 is 364 days, but that can also be seen using an online calculator: https://www.timeanddate.com/date/durationresult.html?m1=9&d1=21&y1=2024&m2=9&d2=19&y2=2025&ti=on  

If I press the back [<] button next to the date range, it takes me to https://connect.garmin.com/modern/steps/2024-09-20/3 - 2023 Sep 23 - 2024 Sep 20. This is also 364 days, because 2024 was a leap year.

https://www.timeanddate.com/date/durationresult.html?m1=9&d1=23&y1=2023&m2=9&d2=20&y2=2024&ti=on 



  • Here's 2 alternatives that would make sense to me:

    - show 365 or 366 days, depending on whether February 29 is included in the given range. This way, an end date of Dec 31 would always give you steps starting from Jan 1. And an end date of Nov 25 would always give you steps starting from Nov 24 of the previous calendar year, for example. This would make sense based on the common sense definition of "1 year"

    - always show exactly 365 days. This way, an end date of Dec 31 would give you steps starting from Jan 1 on non-leap years, but starting from Jan 2 on leap years. This option might make sense from a data consistency POV (the period is always the same), but may not be intuitive based on the common-sense definition of "1 year". In this case it would be more correct to change the label from "1 year" to "365 days".

    The current behaviour of showing 364 days is clearly a bug.

    Note that the Connect app has the exact same problem.

    In the app, if I select More > Activities > Steps > 1y > Weekly Totals, the displayed date range is Sep 21, 2024 - Sep 19, 2025.

  • Also, the app has an additional bug which is not in the website.

    - For the currently weekly total (in the 1y view), the date ranges are shifted one day in the past. This applies to the labels only, and not the actual data.

    Today (Sep 19), they're labelled Sep 12 - 18, Sep 5 - 11, etc (as if today is not included in the rolling period), but the actual data corresponds to Sep 13 - 19, Sep 4 - 10, etc.

    This can easily be verified in the app itself, by switching to the 7d view (which shows the ranges Sep 13 - 19, Sep 4 -10, etc) and comparing the corresponding 7 day totals, or by manually adding up the steps for any of the 7 day period.


    Another interesting quirk (not necessarily a bug) is that for the 7 day period including today, the average displayed in the app, website and watch excludes today.

    i.e. Today is Sep 19. On the app, website, and watch, the average steps for Sep 13 - Sep 19 excludes Sep 19, so it's just showing the average for the 6 day period of Sep 13 - Sep 18.

    While I absolutely understand why this was done, it's somewhat inconsistent because:

    - the total steps for Sep 13 - Sep 19 still includes Sep 19 (today)

    - for any period that doesn't include today (such as Sep 6 - Sep 12), the average steps includes all 7 days

    So only for the current week, you're getting the average for the previous 6 days (not including today), but you're still getting the total for the last 7 days (including today). Of course, if you divide the displayed total by 7, you get a different number than the displayed average.

    It seems that Garmin cares more about making the data "look good" as opposed to any kind of consistency.

    The actual consistent way of doing this would be use *yesterday* as the end of the current rolling period, which is - ironically - what is incorrectly suggested by the UI bug above. IOW, since today is Sep 19, the current rolling period should actually be Sep 12 - Sep 18. I can see why this wouldn't work either, because people would question why today's steps aren't included in the rolling weekly total.

    I think it's super inconsistent to have a total for the current week that covers 7 days, but an average for the current week that covers 6 days.