Business Sim Game How to simulate the Market

Started by
10 comments, last by moneal2001 8 years, 11 months ago

So building off of Lorenzo's idea and your original one, here's a system that's pretty simple but that I think is interesting. It's just based on doing lots of vector angle calculations.

So at any point in time (let's say that our time "tick" is one month) there are a certain number of games for sale. Each has two stats, its quality and a high-dimensional vector <a,b,c,d,...> where each dimension represents a feature like being-an-rpg, being-about-pirates, etc., and the vector's magnitude in that direction is either 1.0 or 0.0 depending on whether it has that feature or not. So if the vector is like <shmup,maze,rpg,shooter,builder, ..., sci-fi, fantasy, pirate, gangster...>, then a space pirate RPG would be <0,0,1,0,0,...,1,0,1,0,...>.

Now for consumers, take your 100 representative customers, each representing 1/100th of the entirety of the game-buying public. Each has five stats, the likelihood that they're going to buy a game this month, the likelihood they're going to buy a console, the list of games they already own, the list of consoles they already own, and a high-dimensional vector, with the same dimensions as before, indicating their current tastes, where the vector's magnitude in a dimension is a continuous value between 0.0 and 1.0 indicating how much they currently like games of that sort. So my current taste might be <0.1, 0.9, 0.44, 0.2342, ... >. Every month there's random drift; it might just be that this month I like pirates more, rpgs less, and gangsters more.

Each month, if you roll that that consumer is going to purchase a game, they purchase whatever available game is closest to their current tastes (that they don't already own, of course, and is available on a system they own.) You can easily calculate this as the angle between the game vector and the consumer vector; it's the arccosine of the dot product of the normalized vectors, and smaller values are closer. Note also you can have the consumer take into account game quality as well, such that they're more likely to buy a highly-rated game.

Then, you can model it that owning this game can itself change their preferences. For example, if it's an absolute classic (max quality) game, it could raise the consumer's opinion of one or more of its features. (So there might be a game, call it "Chrono Trigger", thats anime-timetravel-RPG, and I currently love anime and time-travel but couldn't care less about RPGs. Nonetheless, Chrono Trigger was the game closest to my tastes this month. So I buy it and it's fantastic, and I think, "Oh, well, RPGs aren't so bad after all.") If there's a terrible game, it could lower the consumer's opinion of one or more of its features.

Meanwhile, if you roll that the consumer is going to purchase a console, they purchase whatever console (that they don't already own) that has the library of games that best fits their current tastes.

You'd have to play around with different amounts of drift and adjustment, and the frequency with which consumers "retire" and are replaced by randomized replacements, in order to keep the system from converging on one "taste", but it has some interesting (and realistic) properties. For example, every game (here and in real life) is an experiment whose sales tell you something about what buyers currently like. It doesn't answer that question completely or forever -- tastes will change and not all of the buying populace was even buying -- but it's information, and information is valuable when making decisions about what to make next. If your opponent companies are using this information (and they should) then you can get phenomena like a bunch of companies piling on to make quick, low-quality cash-ins of a super-popular game, and the low quality of the clones subsequently turning consumers off.

Using your 100 consumer idea also means you can use these consumer objects for other things. Like you might, once a month, receive a "game magazine" profiling a random consumer ("So what kinds of games do you like, Billy?"). You could spend $2,000 and assemble ten random consumers together for a focus group, who can tell you "We loved the RPG parts and the pirates but we're not loving the sci-fi". This conclusion might not reflect the larger buying public, but it's information. "Reviews" likewise might depend on which three random consumers wrote the articles. Anyway, I think your basic idea is sound, in part because you can do neat things with a consumer object than you wouldn't think to do with a variable saying "Here's the current demand for RPGs."

Advertisement

Thanks everyone for your input. I appreciate all of it.

This topic is closed to new replies.

Advertisement