Price Convergence In Virtual Parallel Markets (Honors Thesis)
Completed Under Professor Emmanuel Vespa at the University of California, San Diego
Senior Honors Thesis
Abstract
This study will investigate whether prices converge to similar evaluations across high-population servers within the World of Warcraft economy. In the case that we can prove that these prices do converge, it will demonstrate that these identical, perfectly competitive markets approach the same equilibrium evaluation even when there is otherwise no connection between markets.
Market Structure
For the purpose of analysis, we must fully understand the mechanics of the underlying market within each server. The following section will detail precisely how buyers and sellers interact within these virtual markets.
Each player can choose to list any quantity of goods that they currently own in their server’s marketplace. When making a listing, sellers can choose a minimum bid price, maximum auction duration, as well as an optional buyout price. Buyers are able to bid on a good, and the highest bidder at the end of the auction will be automatically charged, along with the item being placed into their item inventory.
In the case that the seller chooses to set a buyout price, the buyer also has the additional option to avoid bidding and simply buy the good immediately. Naturally, the buyout price must be higher or at least equal to the bid price. Since we will be considering goods that have a low cost and high quantity available, we will usually see listings include a buyout price, since the potential savings to be incurred in a bidding war are negligible.
When opening the marketplace, buyers are able to use a search feature to filter for relevant listings. After searching, buyers are met with a list of items that satisfy the requirements, sorted by price (lowest to highest). Bid price is prioritized, and then buyout price. So, a good with a bid price of 35 gold and a buyout price of 40 gold is prioritized over a good with a bid price of 35 gold and a buyout price of 41 gold.
This system of search priority to lower priced listings helps to establish more efficient markets, since buyers will naturally choose listings with the lowest possible price, thus maximizing the difference between buyer utility and cost. As such, sellers will constantly compete amongst themselves to provide the lowest possible price, which is what we would expect theoretically when considering the case of a perfectly competitive market structure.
In a perfectly competitive market structure, we would theoretically expect sellers to continue to lower prices until they are no longer making long run profit. However, since the value of time is variable among sellers, we would expect sellers who value their time the least to establish the lowest prices, and thus win the business of the rational buyer.
As a consequence of variability in the seller’s evaluation of his labor cost, as server population approaches infinity, we would expect that mean prices would eventually reach near zero in the long run. However, this is not the case, and we see the establishment of relative price floors within more highly populated markets, likely the result of larger sellers enforcing artificial price floors by purchasing listings below a certain price level.
Hypothesis: Convergence of Prices
Visually, in the cases of common resources compared across high population servers, prices are remarkably similar. Prices amongst the five most populated servers are within one standard deviation of one another, while lower population server prices are often several away.
From this observation, the central question of the paper is formed. We hypothesize that:
1. Equilibrium prices of goods between servers will eventually approach a common price as we increase the population level of the servers
2. The variance of daily listing prices within each server will significantly lower as we increase the population level of the servers.
Data and Variables
Pricing data is sourced from NexusHub.co, where we have access to daily price information across every good and every server. We are also in need of access to server population data, which is sourced from IronForge.pro.
Figure 1.1 (Example Population Data)
Figure 1.2 (Example Pricing Data)
Data Collection
The data was collected by using Python to request the API of each of these sites. Below, we can see an example of one of the functions used to collect the data:
Figure 1.3 (Example Data Pull Function)
The above function returns a dataset of historical listings for a given server and item. We repeat this function for every combination of server and item, combine the datasets into one, and the result is below.
Figure 1.4 (Raw Aggregated Data)
Estimation Strategy and Model Choice
As for method, we must first understand what we mean for prices to converge. As population increases, do we see prices among the highest population servers are closer to each other than lower population servers? Does having a higher population imply a lower distance from the global average? Do prices of common goods converge as population increases?
We investigate the convergence hypothesis using the following two regression equations:
Where Distance(i) = Price of Good - Global Average Price, PriceDeviation(i) = Standard deviation of daily listing prices for a given good, Population is the population of the server, a(i) is a vector containing control variables such as server and quantity available, and e(i) encompasses the error.
We have chosen a relatively simple model to maximize the interpretability of the results. While a more advanced model could perhaps do a better job to minimize the MSE, we would rather enjoy the rich interpretability that is provided to us by the linear model.
Main Results
Below is a two-way scatter plot comparing the distance between the market price to the global price for each point.
Figure 1.5 (Population vs Distance From Global Average)
Naturally, as it has been clear from the beginning, there is huge variance in average daily distance from the global average. These are still relatively small markets (some having less than 100 units available for certain goods), and as such, certain sellers choosing unreasonable high listing prices can cause huge variation in pricing. Still, it is clear that there is a general trend of reduced variance and convergence in prices as population increases.
Next, we can see a comparison between the daily standard deviation of good prices within each server and the server population. If our original theory is true, we should be able to visually see that the daily standard deviation is decreasing when we compare it to the server population. Thankfully, the association between price deviation and population proves to be overwhelming.
Figure 1.6 (Population vs Standard Deviation of Daily Prices)
This figure excellently demonstrates our theory of price convergence. We can see that as population increases, the standard deviation of intra-server price is clearly decreasing, with the exception of a few outliers.
Regression Results
Figure 1.7 (Regression Table: Population Against Daily Intra-server Standard Deviation)
Above, we regress the intra-server standard deviation of prices for each good against server population and find that population is a highly significant predictor of price deviation. We can see that the population variable has a coefficient of -.16, implying that for every increase of one person into the server, we can expect that the spread of one standard deviation will decrease by -0.16 gold. We can clearly reject the null hypothesis that population does not have a relationship with intra-server price variation, and accept the alternative of a strong association between them.
Figure 1.8 (Regression Table: Population Against Distance From Global Average)
In the regression summary above, it is clear that our initial hypothesis of prices converging with population is true. Interestingly, the model considered server population even more significant than the quantity of goods available on each market at the time. We would expect the expected price difference to decrease with an increase in supply, but we see the opposite effect, and quite significantly.
The t-statistic for the coefficient of population is -74.52, implying that we can confidently reject the null hypothesis of no association, and can confirm a clear negative relationship between price difference and the global average. Thus, we can now accept the alternative hypothesis that there is an association between price difference from global market averages and population.
Further, we can see that the coefficient on population is strongly negative. This is exactly what we would expect to see if our initial hypothesis was true. As population increases, the distance from the global average becomes smaller, and these markets can be seen to converge toward a true price.
One annoyance is that our R-Squared value is still quite small. While population clearly has a strong association with price distance, the huge variance in individual seller pricing proves to prevent us from being able to explain a significant portion of the variance.
Final Conclusions
It has been shown that inter-server market prices of various goods converge toward the global average as server population increases. Still, the variability of the data is not completely explained by population alone. It does not appear that this is the result of omitted variable bias, rather, the variability seems to be the result of certain sellers creating listings with prices that are hugely out of the normal range of equilibrium and impeding predictability. Still, we are able to produce the amazing result that these parallel markets approach the same equilibrium evaluation even though there is otherwise no connection between them.