A little baffled by retention policy

I am performing testing on this app, I’ve configured hourly, weekly, monthly and yearly retention periods.

Based on my picture above, I would logically assume that the OLDEST backup, (the bottom one) should be the one with the badge / label of yearly / monthly / weekly etc, until such time as a newer backup which fits in to ‘steal’ the label.

Why would the oldest, not get the yearly flag? I’m probably doing something wrong, to be clear.

I don’t think you are doing anything wrong. Based on an earlier comment by Jarek, the logic is that the tags carry forward UNTIL it is stolen. So for latest-N, a new backup always steals the ‘first spot’, and then all the others get pushed back 1 place. Similarly, the latest backup of the day gets to claim the daily-N, until the next day when it gets pushed back. So on and so forth for the weekly, monthly, and annual tags.

As for the intuition, it sort of depends on how you think about it. For instance, I think of it as being ‘earned’ and not ‘inherited’. So if you accumulated a week’s worth of backup, at the END of the week, you get to keep the tag as a mark of the work. Similarly, at the end of the month, I consider a backup for that month to be complete, so therefore the last backup of the month should keep the tag.

Perhaps it would help if you replaced the numbers with something more familiar: for instance if the tag was ‘Monthly: January’ instead of ‘Monthly-1’, do you expect the backup to be at the start of the month or the end of the month? Me personally, I would see it as being the end of the month, it must contain the backup of the ENTIRE month. Therefore, if I made multiple backups in the same month, the very last backup will point to the backup of the entire month, and thus, that backup earns the ‘monthly’ tag. Likewise, if you were to think of the ‘Annual-1’ tag as being ‘Annual 2020 Backup’, it follows that it should contain the backup for the ENTIRE year 2020, therefore the last such backup of the year keeps the tag. If you are following this logic, then it makes sense that the tags carry forward UNTIL a new one can be earned.