As in many of these things, there is very little formal research as far as I know, most of them comes from the Gamification community. On this course lecture 7.1, they discuss monetization in games. Here is an screenshot with relevant information, in case you don't want to check the video.
So there are some guidelines but they are mainly "opinion-based", and the only thing you can trust about them is that some people has used them and proved their validity before.
Some key points would be:
- Everything that can be purchased can also be obtained for free in the game (paying is just a shortcut).
- Exception to this rule are aesthetic items. These are items which provide no functionality but just make the player "look pretty". Since they provide no advantage whatsoever, it doesn't create any imbalance or unfairness in the game.
- The best items available in game, are not obtained by money. This prevents paying customers from automatically becoming the best players (they need to AT LEAST invest some effort).
- First make a good game AND THEN add in-game purchases. If you design your game around purchases, chances are it will become a pay-to-win unplayable mess.
Now, with my personal-anecdotal evidence. I have played many such games, and many of them fail in one or more of these points. The consequences are the following:
- When there are items that can only be bought, you are automatically creating a differentiation between free and paying customers. Most likely this will mean an unfair advantage to paying customers, and therefore will drive free customers away. The good point is that people willing to pay will be more loyal, as they will keep paying to keep the advantage, but you will lose a large player base of possible customers.
- When the best items can be purchased, you are killing endgame. If I can just pay my way to the top, chances are I will become bored of the game very fast. Combine this with the previous point and you have a combo of death where you are losing both free and paying customers.
- When games are designed bottom up to provide in-app purchased, the result usually is an insultingly unplayable mess. The game is practically to force players to spend money just to turn an awful game in a mediocre game. Such practices include disproportional difficulty curve, gameplay limitations, penalties to non-paying customers or endless grinding. The result usually is that free customers are driven away before they have a chance to consider paying. Usually paying customers do not start buying right away, first they get hooked to the game. If you don't give them even a chance, probably they won't.
So some in-game purchases practices which seem acceptable in my opinion are the following.
- Premium currency. Players can buy this currency to buy items in game. However make sure that any item that can be purchased this way, can also be purchased with regular currency.
- Grinding shortcut. Lets say you have a tech tree that you unlock as you complete missions. Customers could just pay to unlock it right away and save hours of grinding. However make sure that the time saved is balanced and fair for free players. If I need hundreds upon hundreds of hours to achieve something that cost a few bucks, I will feel that you are practically forcing me to pay.
- Limitation extender. This one I hate personally, but people seem to love it. The point is to limit the actions a player can do in a certain amount of time (for instance, each day), usually implemented with "action points". Then, players can buy extra action points for a fee, and then progress further than free customers. However, mind to put also a hard cap on how much a paying customer can advance using this system in order to avoid unfair advantage.
- Generally speaking, reward paying customer instead of penalizing free customers. An example of the later is implementing a death penalty where you lose some exp each time you die, and then ad a paying item that removes this penalty. That way feels that you are bashing me for not paying. Instead, add items that provide exp boosts. That way, I will feel that you are rewarding me for paying.
This is everything I can think of from the top of my head. I hope it is useful.