代码之家  ›  专栏  ›  技术社区  ›  Mchief

基于月度数据的预测

  •  1
  • Mchief  · 技术社区  · 6 年前

    我每月收到一份未付款支票清单,上面有付款日期。在1个月内达到一定年龄的人(例如,到目前为止90天)被视为逾期,并被视为 X(1) .

    >60天龄 Y(1) 即将过期,将在Month2报表中显示为 X(2) ,如果届时未存入银行。

    一些支票很旧,在系统中存在了很长时间(超过1000天),因此出现在每个 十、 月结单,而两者中的一定份额的支票 X(n) Y(n) 将从下个月的 X(n+1) .

    根据实际历史数据,下个月预测的最佳逻辑是什么?最重要的是 十、 但是 Y 也欢迎您。应该是 预测 ,因为有 下个月的数据。

    如果相关的话,数据在SQL中,但我最需要了解逻辑,然后我可以生成代码。

    1 回复  |  直到 6 年前
        1
  •  1
  •   tysonwright    6 年前

    下面的逻辑为您提供当前时间段内的支票数量、过期百分比、接近过期百分比和所有其他支票计数百分比。下一步是创建一个查询,该查询将执行3个月或12个月(或者您希望使用多少个月来获取预测)。然后,对检查总数进行趋势分析,并对每个子类别的百分比进行趋势分析。你可以用它来预测未来的金额。

    SELECT
        Count(*) AS Number of Checks,
        (SUM(CASE WHEN s.ageofcheck >= 90 THEN 1 ELSE 0 END))/Count(*) AS Number of Checks AS Percent Overdue Checks,
        (SUM(CASE WHEN s.ageofcheck >= 60 AND s.ageofcheck < 90 THEN 1 ELSE 0 END))/Count(*) AS Number of Checks AS Percent Near Overdue Checks,
        (SUM(CASE WHEN s.ageofcheck < 60 THEN 1 ELSE 0 END))/Count(*) AS Number of Checks AS Percent All Other Checks   
    FROM
        (
        SELECT
            c.checknumber,
            DATEDIFF(dd,GETDATE(),c.checkdate) AS ageofcheck
        FROM
            checks_table AS c
        ) AS s