3

我想创造一个游戏,让玩家创造不同价格的不同产品(称之为优惠),我给他们一定数量的客户(称之为需求)。

现在,我想要一种算法来确定每个玩家的市场份额。当然,我现在可以自己做,使用随机的。但在这样做之前,我更愿意问,因为我敢肯定很多人在我之前已经尝试过这样做!

我的问题不是很精确,这是因为您的答案也不需要精确;)

先感谢您!

4

1 回答 1

4

这实际上取决于您设置的变量,以及您想要创建的“市场”类型。您可以从下面的简单公式开始(从根本上将市场份额降低为利润问题)作为开始,然后我将介绍我所说的“市场类型”。

marketShare = totalCompanyProfit/allMoneyInProductCategory;
marketShare = ( (productSalePrice * demand)-(productManufactureCost * supply) ) / allMoneyInProductCategory;

这里很有趣,因为“市场类型”取决于您对需求的定义。例如,假设产品是法拉利,而您试图模拟的市场是刚果共和国,其人均 GDP 为 189 美元。

targetMarketSize = (percentOfFittingDemographic * totalPopulation)
percentWhoHateYourProduct = AVERAGE( ( ABS(productVariable1 - variableIdeal1) / variableIdeal1 ), ( ABS(productVariable2 - variableIdeal2) / variableIdeal2 ), etc )
demand = (targetMarketSize) * ( 1- percentWhoHateYourProduct ) 

percentOfFittingDemographic 是适合购买此类产品的人口的百分比(即有足够可支配收入来买 100,000 美元汽车的人),在上面的刚果示例中可能类似于 .001 。

某些产品属性 (productVariable) 与其理想值 (variableIdeals) 的差值的绝对值的平均值给出了将因产品不是他们想要的产品而关闭的人口百分比。从 1 中减去它可以得出确实想要购买您的产品的人的百分比,然后将其乘以 targetMarketSize 可以得出想要购买您的产品的人——即需求。如果产品是完美的,它就变成了0的平均值,整个目标市场都变成了产品的用户。

还可以增加平均值的权重,例如,市场更喜欢更低的价格而不是更大的屏幕尺寸。为了暗示更多的一个属性增加了人们对产品的渴望(即,而不是“一个月的免费服务”,你放弃了“6个月的免费服务”,人们想要更多),你可以添加它平均

percentLikesProductNow =  1 - e^(-1 * infinitelyLikedAttribute)

这从infinitelyLikedAttribute=0 时的0% 到infintelyLikedAttribute=10 时的约0.005%,因此您可以四处玩耍并找到一种方法将该属性“缩放”到大约在1 到10 之间。这确实有点意义与真实生活,因为有些产品如果没有免费试用,我永远不会购买。例如: 3 个月的免费 verizon 互联网。否则我可能会选择康卡斯特,因为我只在那里住了 6 个月,但当时节省 100 美元是相当大的。然而,在另一个极端,如果 Verizon 向我提供 100 年的免费互联网服务,那么在此基础上再延长 50 年(假设它不可转让等)确实不会增加该优惠的吸引力。

您也可以随时将所有这些东西与随机数生成器相乘,也许给它一个 +/- 15% 的方差,并让每个人都在猜测 :)

我希望这甚至有点用处:)

于 2012-02-05T21:38:16.437 回答