I'm working on an app with a gamification approach and I kinda hit a wall with a problem: users may feel frustrated even though they've achieved a goal
Since this is a bit complex to understand without some context, let's say this app works in a way user unlocks features and prizes on a cyclical basis (cycles are selected by user in 30 days spans, to a max of 120 days/4 months). Once the cycle re-starts, features have to be unlocked again (with small differences, but still have to be unlocked). The app deals with health and physical conditioning
So, let's say user starts at level 0 and chooses a 30 days cycle. S/he needs to unlock as much features/prizes as possible. After 30 days have passed by, the features are locked again and s/he needs to run another cycle, but this time in level x (where x is a number bigger than 0)
The features and prizes have been tested with very positive reviews, so this is not an issue. As a matter of fact, this is part of the problem: I'm afraid reviews on features are so good there will be a sense of frustration over losing them (prizes aren't lost, just features locked).
The thing is that after each cycle, if the user unlocked at least one feature or prize, this user has objectively earned something, and there's no way to deny it. But it's also true that SUBJECTIVELY they'll see they're back to square 0 on a new cycle. No matter how much higher the level is, they will have all features locked.
So, the question is: which technique or approximate copy may I use to alleviate the perceived frustration and make the user understand this is something good and for her/his own benefit?
PS: I understand any answer will require further testing, so fire at will