作为我当前项目的一部分,我需要为以下内容找到一个漂亮的 Excel 解决方案:有一个在线游戏,人们可以在其中获得经验(类似于 SO rep)并在获得足够的经验后立即进入下一个级别(再次,这是非常像 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 周内,有一组预测的每周应该达到的最少玩家数量(这是基于收集的统计数据,但对于给定的任务,这是一个已知的集合)。
到目前为止一切顺利,图片如下所示:
而最左边的一列是每周加入游戏的人数,每周下面的粗体数字行是本周通过的人数进入下一个级别。
有很多新人,计算每周的总水平提升是微不足道的。相反的事情一点也不那么容易(嗯,至少对我来说) - 这就是问题:如何预测每周所需的新人数量(最左边的列) - 以获得所需的人数未来几周的下一个级别(底部的粗体行)?
到目前为止,我仍然找不到合适且准确的解决方案 2 周。我尝试了所有可能的选项 - 从复杂和数组公式到 Solver 插件,但没有运气:我总是有比方程更多的未知数。但是,我很确定这不是一项不可能完成的任务:对于某些解决方案,Solver 可以提供与期望值相当接近的数字,但并非针对每组期望值。
一些假设和(也许)重要条件:
- 虽然应该不是问题,但实际的每周分布 %%% 数字会根据需要通过 DB 查询和进一步的 Excel 处理进行更新。
- 到目前为止,数据库中可用的实际新人值当然被视为方程的已知值。显然,它们无法更改,例如,如果
less than desired
实际上一周内有多少人加入了游戏,那应该会影响对未来几周的总体预测。 - 实际进入下一关的玩家总数在特定时间段内应该保持不变:例如,如果我们希望在从 1 月开始的每个冬季周,至少有 100 人加入游戏,那么我们有 8 整周,因此有 800 名玩家总共。但是,如果 1 月份我们实际上每周有 80 名新玩家 - 这意味着 2 月份的努力工作)为了确定“检查点”小计每 10 周计算一次。在任何情况下,任何低值都必须在接下来的几周内得到补偿。
- 反之亦然:如果我们在给定一周内的新人数量超过预期- 我们可能会在下周吸引更少的玩家来实现下一个小计目标。
- 玩家的流量是无限的——提供图片样本只是为了清晰和更好地理解。可以根据需要在未来计算所需的值 - 预测模式是可重复的。如果这对解决方案很重要 -从当前开始 10 周。
- 纯配方解决方案是可取的 - 甚至非常复杂。但是,VBA 仍然是一个可接受的选项。在任何情况下,计算值的准确实时/按需更新绝对优于简单但半手动或近似的解决方案。
至于我在这里的每一个问题 - 我不要求ready to play
解决方案,但非常感谢正确的指导或宝贵的建议。我故意不将其发布到https://stats.stackexchange.com/ - 这更像是编程问题,因为理论显然很简单......或者可能太简单了,所以我看不到很明显的解决方案。
请随时通过评论请求任何其他详细信息或解释:尽管我试图尽可能清晰和简单,但某些对我来说并不重要的方面实际上可能对准确的解决方案至关重要。
示例文件(带有上述示例):https ://www.dropbox.com/s/q3bnagyet86i34r/StatPrognosis01.xlsx