I observed this in a Kaggle M5 competition notebook (cell 7, some explanation in cell 4) that inspired the competition winner, who used the same methodology to create "fake" validation data. Unfortunately, I was not able to grasp the intuition behind this approach. Is this something commonly done in practice, or specific to the M5 data? The author of the answer to this question appears skeptical as well.