在这件事上我一直在用头撞墙。
我正在开展一个项目,其中客户拥有一个调用中心,并希望通过输入高峰时段(该小时内所需人员的估计值)来估计事件中半小时内所需的人员数量大概是一个标准差。然后,这应该将值“扇出”到其他槽(在峰值两侧减小)。
如果这是一个图表,x 轴上有半小时时段(1 到 48),y 轴上有所需的人数,这看起来像一条钟形曲线,峰值位于指定的峰值小时。
如何获得每半小时时段所需座位的大概值?任何正确方向的观点都将不胜感激!
附注如果有人知道任何可以执行此操作的库,则使用 .NET 进行工作。
最佳答案
您可以获得概率密度函数的论坛(以及 .NET 库)here
但是,我自己在工作中开发调用中心软件,我可以告诉您 FTE 从来都不是正态分布的。通常有大约 2-3 个重叠的正态分布,一个向左倾斜,一个向右倾斜,具体取决于一天中的时间(清晨、下午晚些时候)和营销事件类型(B2B 到 B2C)。
为了进行更准确的估计,我建议保留调用中心先前事件/负载的历史记录(每半小时间隔的平均负载是多少),然后将其用作分布基线,对其进行缩放以适应预期峰值负载和估计通话时长。这就是我们在 ProtCall 中所做的,通常在实际负载的 90% - 95% 范围内。有时。有时我们会错过十倍。
编辑:
好吧,我花了一点时间来研究如何估计负载,标准分布不会让你一事无成。看看couple的screenshots从我们的图表中,您会看到分布实际上有多么不同。
你需要做什么(基本上):
- 对每分钟调用的电话数量进行采样(自 60 秒前以来我们调用了多少个电话)
- 将这些示例保存在表中:TimeOfDay、CallsMade
- 加载这些样本并缩放它们。 (即,如果我们的总表有 10.000 个调用,而我们估计新事件每天有 4.000 个调用,则将所有值乘以 0.4。您可以 按估计的通话次数或(更准确地说)按每天估计的通话时间分钟数进行缩放)
或者,如果您只有一个表,其中包含每次调用的行条目,您可以简单地:
SELECT count(*),datepart(hour,[CalledOn]) as CalledOn from tableCalls group by datepart(hour,[CalledOn])
统计每小时调用的电话数量。它将每小时采样一次,而不是每分钟采样一次,但这可能足以为您提供基线
关于.net - 从钟形曲线近似数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686313/