2009-11-06 53 views
2

我一直在撞这个墙上的我的头。从钟形曲线逼近数字?

我正在开发一个项目,其中客户拥有一个呼叫中心,并且希望通过输入一个高峰时段来估算需要在半个小时的广告系列中工作的人数,小时,大概是一个标准偏差。这应该“扇出”到其他插槽的值(在峰值的两侧消失)。

如果这是一个图表,您将在x轴(1到48)上有半个小时的时间间隔以及沿着y轴需要的人数,这看起来像一个钟形曲线,峰值在指定的繁忙时间。

我怎样才能获得每半小时所需座位的近似值?任何正确的方向点将非常感激!

P.S.在.NET中工作,如果有人知道任何可以做到这一点的库。

+0

我期望有多个高峰。 – 2009-11-06 13:21:24

+0

客户想要“收缩包装”的分布,即:一个峰值,两个峰值,一致的上升和下降等。我从最简单的一个开始,希望一旦我得到一个,其他的不会是这样难! – user204616 2009-11-06 14:33:59

回答

3

你可以得到的概率密度函数的forumula(与.NET libary一起)here

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

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

编辑的一个因素:

好吧,我花了一点时间来看看我们是如何估算的负载和标准分布是不会让你无处。看看我们的图表中的couplescreenshots,你会看到分布实际上看起来有多不同。

你需要做的(基本):

  1. 样来电制成每分钟数(我们有多少电话了已有60秒前)
  2. 保存这些样品中的表:的TimeOfDay, CallsMade
  3. 加载这些样本并对其进行缩放。 (即,如果我们的总表有10,000个电话,并且我们估计我们的新活动每天有4000个电话,则将所有事件乘以0.4。您可以 规模通过电话的估计NR或(更acuratelly)通过每天的通话时间分钟)估计数

或者,如果你只是有一个表为每个调用一个行条目是你能简单地说:

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

来计算每小时的呼叫次数。它会每小时取样,而不是每分钟,但它可能是足以让你的基线

+0

关于它的思考更多的你完全正确的,这使得它更加复杂:(。 所以是应该是他们指定开始和结束时间(即9点至晚5)和高峰时段,应该逐步上升到那么高峰时段落在这将可能被扭曲。 你有没有做过这样的事情在你的呼叫中心软件?任何指针? – user204616 2009-11-06 09:23:40

+0

辉煌,你已经给了我足够的信息,让我可以回到客户端,并解释原因是什么他们想要的不是最好的解决方案!干杯 – user204616 2009-11-06 14:45:54

0

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

2

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

是您的推定,即客户可以指定一个标准偏差是否正确?

的通话将无法正常分布在一天之内高峰时段,除高峰时段正好是12:00 - 如果客户真的认为,呼叫分配是单峰00:00和23之间:59,那么我敢打赌,这种模式不是在12:00。

由于您的受访者已经说过,你可以找到正态分布容易够的公式和实现。

但是,如果你想打动你的客户,并建立更好的模型,我会用一些简单的队列开始。

+0

假定客户端可以指定一个std dev是...不正确:(事实上他们可能不会这样做。我的天真的想法是我可以调整std dev制作一个大致类似于正常呼叫中心日的上升和下降的钟形曲线。你能澄清你的意思吗? “排队”? 谢谢 – user204616 2009-11-06 09:27:46

+0

当然有!无耻的插头(链接在我的个人资料).. – Radu094 2009-11-06 19:31:35