我想创造一个游戏,玩家用不同的价格创造不同的产品(称之为提供),我给他们一定数量的客户(称之为需求)。
现在,我想要一个算法来决定每个玩家的市场份额当然,我现在可以用随机的方法做我的。但在做这件事之前,我更愿意问,因为我相信很多人已经在我之前尝试过了!
我的问题不是很精确,因为你的答案也不需要精确;)
提前谢谢你!
最佳答案
这实际上取决于你所设置的变量,以及你想要创造的“市场”类型。你可以从下面的简单公式开始(从根本上把市场份额降低到利润的问题),然后我将介绍一下我所说的“市场类型”。
marketShare = totalCompanyProfit/allMoneyInProductCategory;
marketShare = ( (productSalePrice * demand)-(productManufactureCost * supply) ) / allMoneyInProductCategory;
这里很有趣,因为“市场类型”是由你对需求的定义决定的。例如,假设产品是法拉利,而你试图模拟的市场是刚果共和国,其国内生产总值为189美元/人。
targetMarketSize = (percentOfFittingDemographic * totalPopulation)
percentWhoHateYourProduct = AVERAGE( ( ABS(productVariable1 - variableIdeal1) / variableIdeal1 ), ( ABS(productVariable2 - variableIdeal2) / variableIdeal2 ), etc )
demand = (targetMarketSize) * ( 1- percentWhoHateYourProduct )
percentOfFittingDemographic是符合购买此类产品的人口(即有足够可支配收入购买10万美元汽车的人)的百分比,在刚果,上面的例子可能类似于.001。
某些产品属性(productvariable)与其理想(variableIdeals)在理想上的绝对值之差的平均值给出了总人口的百分比,这些总人口将因产品不是他们想要的而被关闭。从1中减去这一数字,得到了想购买你产品的人的百分比,再乘以targetmarketsize,得到了想购买你产品的人的百分比——即需求。如果产品是完美的,它将成为0的平均值,整个目标市场将成为产品的用户。
例如,人们还可以在平均值上加上权重,表示市场更喜欢较低的价格,而不是较大的屏幕尺寸。为了暗示一个属性中的多个属性会增加人们对产品的需求(即,您提供“6个月免费服务”,而不是“一个月免费服务”,人们需要更多),您可以将其添加到
percentLikesProductNow = 1 - e^(-1 * infinitelyLikedAttribute)
从0%到0%到0.005%,这样你就可以四处游荡,找到一种方法将这个属性“缩放”到1到10之间这在现实生活中确实有点道理,因为有些产品如果没有免费试用,我就永远不会买。例如:免费3个月的Verizon Internet。否则我可能会和康卡斯特一起去,因为我只在那里住了6个月,但当时省下100美元是相当大的。然而,在另一个极端,如果Verizon向我提供100年的免费互联网服务,那么在这基础上再多50年(假设它不可转让等)真的不会增加更多的吸引力。
你也可以用一个随机数产生器把所有这些东西都相乘,也许可以给它一个正负15%的方差,让每个人都猜:)
我希望这能有点用:)