从钟形曲线中逼近数字?

时间:2009-11-06 08:57:09

标签: .net normal-distribution

我一直在用这个墙撞墙。

我正在开展一个项目,客户拥有一个呼叫中心,并希望通过输入一个高峰时间估算一个广告系列半小时工作所需的人数,估计当时所需人员并且可能是标准偏差。然后,这应该将值“扇出”到其他槽(在峰的两侧减小)。

如果这是一个图表,你将在x轴(1到48)上有半小时的时段和y轴所需的人数,这看起来像一个钟形曲线,峰值在指定的峰值小时。

如何获得每半小时插槽所需座位的近似值?任何指向正确方向的人都会非常感激!

P.S。如果有人知道任何可以执行此操作的库,则在.NET中工作。

3 个答案:

答案 0 :(得分:3)

您可以获得概率密度函数的论坛(以及.NET库)here

但是,我自己在工作中使用呼叫中心软件,我可以告诉你FTE永远不会正常分发。根据一天中的时间(清晨,傍晚)和活动类型(B2B到B2C),通常有~2-3个重叠的正态分布,一个偏向左,一个向右倾斜。

为了更准确的估算,我建议保留呼叫中心之前活动/负荷的历史记录(每半小时间隔的平均负荷是多少),然后将其用作分布基线,将其缩放以适合预期峰值负载和估计呼叫长度。这就是我们在ProtCall中所做的,而且我们通常在实际负载的90%-95%之内。有时。有时我们错过了10倍。

编辑:

好的,我花了一点时间来看看我们如何估算负载,标准分布不会让你无处可去。从我们的图表中查看couple screenshots,你会看到发行版看起来有多么不同。

你需要做什么(基本上):

  1. 示例每分钟拨打的电话数(自60秒前我们有多少电话)
  2. 将这些样本保存在表格中:TimeOfDay,CallsMade
  3. 加载这些样本并进行缩放。 (即如果我们的总表有10,000个电话,我们估计我们的新活动每天有4000个电话,将所有数字乘以0.4。你可以 通过估计的呼叫数量来衡量,或者(通过估计每天的通话时间 - 分钟数量来衡量)(<更多)
  4. 或者,如果您只是为每个调用创建一个包含行条目的表,您可以简单地:

    SELECT count(*),datepart(hour,[CalledOn]) as CalledOn from tableCalls group by datepart(hour,[CalledOn]) 
    

    计算每小时拨打的电话数。它将每小时采样,而不是每分钟采样,但它可能足以为您提供基线

答案 1 :(得分:2)

如果白天(从午夜到午夜24小时)的电话分配正常(即按照钟形曲线),我会感到惊讶。但是,如果这是客户订购的,那就这样吧。但在你走得更远之前,做一些进一步的调查。

您的假设是客户可以指定std dev正确吗?

除非高峰时段恰好是12:00,否则通话将不会在一天内的高峰时段正常分配 - 如果客户真的认为在00:00到23之间呼叫的分配是单峰的: 59,然后我打赌模式不是在12:00。

正如您的一位受访者已经说过的那样,您可以很容易地找到正态分布的公式和实现。

但是如果你想给你的客户留下深刻印象并建立一个更好的模型,我会从一些简单的排队开始。

答案 2 :(得分:0)

我想这不是一个真正的答案,但是电话行业使用Erlang作为这类问题的度量单位,这是从平均呼叫长度和平均并发呼叫数量得出的。在一段时期内。