Hello fellow developers, in this tutorial I will be unraveling what I’ve come to see, through experience and economic insight, as the most concrete guide to maximizing profit by setting a gamepass price in Roblox.
A bit about my background, I have a BA in Economics from the University of Arizona, and have maintained Roblox games since I joined in 2008.
First question, I’m a developer too, why would I want to show all this work to make others more profitable?
- If more developers do this, it will be more apparent to many that default developer stats should be improved, resulting in dev stats being more efficient to everybody. Alternatively, 3rd party data techniques such as blade and rtrack can see what developers want to see next.
- This is just as much for me, as it is for you. I get to refine my methods and even learn something new as I type this out
- It’s nice being altruistic every now and then. I have gained a lot of knowledge from posts on the dev forum, and wish to give back in the way I can. We should all reach for truth and improvements.
Understanding the Problem
We have a gamepass or a developer product to set a price for. We don’t know what price to make it. What are our options?
A) Random guess and hope for the best
B) Copy a price from another game with a similar gamepass
C) First do A or B, then get data on it and use this tutorial to refine the price
Although the 2nd option is going to work if you are competing in a highly competitive market among similar gamepasses, your potential niche gamepass may not have anything to compare to, and therefore, you’re able to set your own price. Even in a competitive market it may be wise to optimize gamepass price: what if everyone else’s gamepass price is not optimized? Your game may still have selling points compared to the other competitor games that makes enough players open to spending a different amount on a similar gamepass.
Let’s pick the 3rd option to continue this tutorial!
Understanding the Market
In traditional economics, we have supply and demand. A firm creates a specific number of units of a product, and a specific amount of consumers wish to buy these products. The firm must figure out which price to sell these products at for them to balance making a profit while minimizing inventory turnover. We are not in this market at all. Game developers have virtually unlimited supply to hand out. This is a very liberating thought, we have immense power right? Assuming our gamepasses are great products everyone wants to buy, our only limit to how many gamepasses we sell is the price we set. We don’t want to set it too low so that everyone has it and it’s no longer seen as a special perk, but we don’t want to set it too high so that hardly anyone buys it. The reality is, with enough sample size and no other factors changing, there is an optimized price for every single item on Roblox in every game.
Side note / exceptions:
An optimized price may change if new content is added that affects the demand of the previously optimized gamepass. A concrete example of this would be, if you sell a X2 Exp gamepass, and optimize the price, then add a X3 Exp gamepass, since that gamepass is a substitute (ie, someone might skip out on buying the X2 Exp gamepass to get the X3 - never bothering with the X2), then the demand for the X2 gamepass may shift downward, hence changing the optimized price. Think, if the price of the X2 is cheap enough, more people will be willing to buy that as well. Even better is if you use discounts.
Warning: this is a multi-day process to do correctly. Please make sure you gather enough sample size for this section, this may mean you have to wait a longer time period if you run a smaller game.
I have made this template spreadsheet for everyone free to use for this purpose.
A) Set Up for Success - Type in your data to the spreadsheet
Start by recording the current visit count to your game, start time, all current gamepass sales.
Unfortunately this is made a bit harder to find gamepass sales
The way to find current gamepass sales is to go to your gamepass develop page pictured below. Make sure to only use the total sales figure, as the last 7 days figure will not help us to determine differences in our data sets.
At this point, you are still on day 1. Refer to the picture below for what data you should have inputted.
Your input should be the time and date started, starting visit count, your total gamepass sales, and price the gamepass are currently set to. The picture spreadsheet references H3 (Total Visits), F12,13,14 will all be a negative numbers, this will be changed later once more data is inputted. This is it for how much you can do on day 1, come back once a sizable sample have played your game at the current gamepass prcies.
Note, in this example I am not using real numbers from any game.
B) Gathering the Default Data
[Make sure you have read the previous step]
You now have at least a day or 2 of data to record, welcome back!
Input Finish Sales for each gamepass. Q (Quantity) Sold and Revenue will calculate automatically.
[Other figures such as Visits Per Q-Sold will calculate automatically as well, they do not relate to optimizing prices, but could be interesting figures to you regardless. It means the average amount of visits your game gets before 1 quantity of the gamepass would be sold. This also provides a stat for the revenue each gamepass brings in per visit. This gives a separate more narrow figure from the popular Robux:Visit ratio many developers talk about. Keep in mind these figures can change with different sample sizes, time of year (holidays), and different incentives being introduced to your game’s monetization.]
Note there is a segment of rows in this spreadsheet that say Basic Comparison Stats. Currently only the Old columns are calculating. The New columns F-H, have a Div/0 error. This is intentional, as you do not yet have data on the new price you wish to test.
2 new stats you have for each gamepass for the sample size (A more recent stat than your gamepass’ all time stats)
-Visits per QSold
-Revenue per visit
You do not yet know how to optimize the price of your gamepass. We need to conduct a price change experiment to gather more data. This is where you change your gamepass prices to “your best guess” at an optimized price. Make sure it is different enough from your current price.
Your spreadsheet should now have data filled in such as:
All blurred stats are irrelevant at this stage in the experimentation.
If you do the price change quick enough, your starting stats for this next round of stats would be the same as the ending stats of the last data gathering.
Now you must wait more - wait a similar amount of visits that you had received for the previous data gathering. We do have a Visit Ratio stat on Q3. This is handy because it may be hard next to impossible to get the exact same visit sample size. The ratio represents the Q Ratio Sold by a projection (>1) or a cut-off (<1) for the data you are gathering in this next set.
C) Gathering the Changed Price Data
After inputting all the stats that allow the Endogenous data (blue cells) to fill up correctly, you will have created a Demand Function. (Oh) 07 to 09. We are going to use Desmos.com, an online graphing calculator to create visual representations of this, as well as avoid having to use calculus.
Graphs and Calculations
[ This method works according to how good the data is, because we are finding the difference in price, and the difference in quantity sold. This creates a demand slope, a concept heavily used in economics to determine price optimization. Using calculus, the demand slope is the derivative of a parabolic function representing the area under the demand slope. By definition, the biggest area under the demand slope would mean the biggest number, and hence, the optimized point. Therefore, for easy visualization, the top of the parabola is the optimized point. ]
Demand Slope Graphs:
These graphs are to understand the demand slope. This is the idea of the relationship between price and quantity sold, in graph format. The demand equations are directly taken from the spreadsheet data we now have: Demand Slope (M7,M8,M9) and Y-Intercept (N7,N8,N9).
[ In “reality”, these equations are more likely to look asymptotic near the extremes. You could potentially test this yourself if you wish to run this experiment over and over again at varying prices for your gamepasses, though your players may not enjoy the gamepass prices changing so often. For the sake of simplicity and normal range of gamepass prices given the demand function, we won’t need to look into the extremes. Given two points of our demand slope we are assuming a linear relationship. The study of economics is littered with assumptions, you must be comfortable that this is is based on this assumption. ]
Create a new Desmos graph, this one is going to have a lot larger Y axis numbers.
Multiply X to the previous demand slope equations for each gamepass. Color coded.
Demand Function Graphs (The parabolas):
Next find the tops of the parabolas. Desmos makes this super easy by giving it to you when you click on the visible equation
The top of the parabola represents the optimized point where the X (Quantity Sold) gives us the largest profit when plugged into the demand slope we calculated with our data.
For gamepass 1:
X marks the spot.
Below the default and experiment points on the left hand side, we plugged in the number we received from the top of the parabola graph for gamepass1. We repeat this for gamepass 2 and 3 respectively.
We find that the calculated optimized price is 205 for gamepass1.
[ Keep in mind that number psychology may impact actual results of calculated optimized prices. In my opinion, 199 would be a better set price than 205 for real world results. Does this go against the entire point of this? No, because now we have calculated evidence that this is not just a number we pulled out of nowhere to be the price of a gamepass we plan to sell for a long time. As long as a price is picked within the “ballpark” of the calculated optimized point, you would be doing better than developers not using this method. ]
For gamepass 2:
For gamepass 3:
Alternatively, the spreadsheet has a built in calculation where all you need to do is input the quantity that you receive from the top of the parabola, where it says “Maximum Quantity to maximize”
This concludes the tutorial of how to optimize gamepass profit by price setting. This may increase your take home profit if your gamepasses aren’t already optimized, and Roblox didn’t have to do anything about it! I hope this can help you as a developer, feel free to ask questions by replying here or dev forum direct message.
View two of my other Economic Guide tutorials: