通常,足球经理游戏中的玩家具有市场价值。经理们根据这些市场价值出售他们的球员。他们认为:“哦,玩家价值3,000,00,所以我会尝试卖掉他3,500,000”。
所有球员都有三个基本素质:
基于这些值,我计算了当前的市场价值。但我想根据最后一段时间内的玩家转移动态计算市场价值。我怎么能这样做?
我有上面提到的质量和最后一段时间的球员转移可供计算。
我该怎么计算呢?我是否必须根据质量对最后转移的球员进行分组,并简单地采用平均转会价格?
我希望你能帮助我。
注意:玩家=物品/商品,经理=用户
我的建议:定义一个distance function,它获取两个玩家的统计数据并返回一个距离值。既然你有两者之间的距离(对应于它们之间的相似性),你可以使用K-means算法来找到类似玩家的集群。
对于每个群集,您可以采用多个值来帮助您计算所谓的“市场价格”(如平均值或中值)。
这是一个非常简单的例子,说明如何计算两个玩家之间的距离函数:
float distance(Player player1, Player player2){
float distance = 0.0;
distance += abs(player1.strength - player2.strength) / strengthRange;
distance += abs(player1.maxStrength - player2.maxStrength) / maxStrength;
distance += abs(player1.motivation - player2.motivation) / motivationRange;
distance += abs(player1.age - player2.age) / ageRange;
return distance;
}
现在你有了距离函数,你可以应用k-means算法:
现在你有了集群,你可以计算出类似玩家的平均价格。
你可以做的一件事是看近期类似(1)球员的转会。比如在类似玩家的2-5个游戏周内进行所有转移,然后取其销售价格的平均值(或中位数或其他计算值)。
(1)你必须以某种方式定义类似的,即防守+ -10,传球+ -3和+ -2岁的防守者。更多因素可提供更精确的结果。
或者您可以使用一点经济学101并尝试根据以下内容定义该特定玩家的供求:
现在有了这些数字,您可以计算供应量(可用于转移的玩家)和需求(需要这些玩家的团队)并使用它来修改您的基本价格(可以是您的最后转移价格或玩家的基本价格)或者下降(即需求超过供应将推动价格上涨,反之亦然)
之后它变成了谈判游戏,在那里你可以看一些博弈论文献来解决实际的交换价格。
希望这至少能给你一个不同的看法。