actually calculate_reputation code differs from each object quite a lot.
In case of `UserProfile` model, there was already `reputation` field added for future which I just used now.