oracle regr,Forecasting Time series data in Oracle/SQL

You can create a simple forecast using the REGR linear regression functions.

--Ordinary least squares forecast for each customer for the next year.

select

cust_id,

max(year) +1 forecast_year,

-- y = mx+b

regr_slope(revenue, year)

* (max(year) + 1)

+ regr_intercept(revenue, year) forecasted_revenue

from customer_data

group by cust_id;

CUST_ID FORECAST_YEAR FORECASTED_REVENUE

------- ------------- ------------------

1 2018 730868

2 2018 50148

4 2018 7483

3 2018 -9920

Below is the sample schema. Or you can use this SQLFiddle.

create table customer_data

(

cust_id number,

year number,

revenue number

);

insert into customer_data

select 1, 2016, 679862 from dual union all

select 1, 2017, 705365 from dual union all

select 2, 2016, 51074 from dual union all

select 2, 2017, 50611 from dual union all

select 3, 2016, 190706 from dual union all

select 3, 2017, 90393 from dual union all

select 4, 2016, 31649 from dual union all

select 4, 2017, 19566 from dual;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值