作为我当前项目的一部分,我需要为以下方面找到一个漂亮的Excel解决方案:在线游戏中人们获得经验(类似于SO代表)并转移到一旦获得足够的经验值就可以进入下一个级别(同样,这与SO权限非常相似)。当然,这需要每个人都有不同的时间:有些人在第一周获得足够的经验,其他人需要5周才能通过这个级别。统计如下:基于当前统计数据的分布预测的准确实时更新解决方案
Week from join: Week 1 Week 2 Week 3 Week 4 Week 5
Level up: 5% 15% 40% 30% 10%
也就是说,如果这一周期间,我们有一些人加入了游戏,5周后他们都将传递到一个新的水平(有些人会放弃并离开,但对于简单我不会在条件列表中包含该因素)。
至于每场比赛,当前球员的数量很重要。为了保持游戏的流行和激动人心,每个关卡都应该有确定的玩家数量最小。显然,这个价值在不断变化:新人来了,而另一些人则进入下一个层次。然而 - 这就是行动开始的地方! - 这个当前球员的最小值不是恒定的,并且可能会依赖于许多因素谨慎。为了简单起见,这意味着对于将来的10-15周,每周应该实现一组预期的最小数量的球员(这是基于收集的统计数据,但对于给定的任务,这是已知的组)。
到目前为止好,画面看起来是这样的:
每星期而在最左边的列有人号加入了游戏,每星期下粗体数字的行本周通过的人数到下一级。
有了新人的数量,计算每周总的升级水平是微不足道的。相反并非如此简单(至少对我来说) - 这就是问题:如何预测每周所需的新人数量(最左边一列) - 获得所需数量的人在接下来的几周内转到下一个级别(底部的粗体)?
到目前为止,我仍然找不到合适的和准确的解决方案。我尝试了所有可能的选择 - 从复杂的&数组公式到Solver插件,但没有运气:我总是比方程式有更多的未知数。但是,我很确定这不是一个不可能完成的任务:对于某些解决方案,Solver可以提供相当接近所需值的数字,但不适用于每组所需的值。
一些假设和(也许)重要的条件:
- 虽然不应该是一个问题,但实际每周分布%%%数更新通过DB查询和进一步的Excel处理需求的基础上。
- 到目前为止,从DB获得的实际新手值当然被认为是已知值等式。显然它们不能改变,例如如果一周内参加游戏的人数实际上是
less than desired
,那么应该会影响未来几周的计算预测来实现整体。 - 玩家总数实际上传递到下一级在某段时间应该保持不变如果我们希望在每年的冬季开始1月份,至少有100人加入这场比赛,这给我们整整8周,因此总共有800名玩家。然而,如果在一月份,我们实际上得到了80级新的球员,每星期 - 这意味着二月份辛勤工作)对于确定性“检查点” 分类汇总计算每10周。无论如何,任何低价值都必须在未来几周内得到补偿。
- 反过来也是如此:如果我们有更多的新人比预计的在给定的一周 - 我们可能会在下个星期吸引更少的球员来满足下一个小计的目标。
- 球员的流动是无限 - 图片样张给出只是为了清楚和更好地理解的目的。所需值可能会根据需要在未来一段时间内计算 - 预测模式是可重复的。如果这对于解决方案很重要 - 从目前的开始为10周。
- 纯配方解决方案更可取 - 甚至非常复杂。但是,VBA仍然是一个可以接受的选择。在任何情况下,计算值的准确实时/按需更新绝对好于简单的,但是半手动或近似解决方案。
至于我在这里的每一个问题 - 我不要求ready to play
解决方案,但正确的指导或宝贵的意见将非常感激。我故意不把它发布到https://stats.stackexchange.com/--它更像是编程问题,因为理论显然很简单......或者可能太简单了,所以我没有看到相当明显的解决方案。
请随时通过的意见,要求任何额外的信息或解释:虽然我力求做到清晰和简单越好,有些方面是不是对我来说重要的可能是事实上的准确的解决方案是至关重要的。
样品文件(与上面的示例):https://www.dropbox.com/s/q3bnagyet86i34r/StatPrognosis01.xlsx
有趣的挑战 - 今晚晚些时候将考虑它你也从截图分享源excel - 这将减少努力... Thx – 2013-02-23 18:18:03
@PeterAlbert先生非常感谢,彼得!我添加了示例链接到问题。如果您需要更多信息 - 请不要犹豫,问。 – 2013-02-23 18:35:08