Python|开源还是闭源?从SAS与Python说开去( 二 )


5. 成本问题
听起来使用 SAS 的好处更多 , 可以保证运行的稳定性以及结果的精度 , 同时还可以提供信用背书 , 当然 , 这些都是有成本的 , 最后就体现在 SAS 的价格上 。
License 按年续费 , 每年的维保还需要单独采购 , 这是一块不小的成本 , 并且 , 一旦采购 , 就会形成历史代码 , 就会产生持续的续费 , 中小金融机构很难下决心 , 而互联网公司 , 更希望用这些钱去烧一些用户量和月活回来 , 获取更多的融资 。
Python 的成本更多是隐形的 , 比如线上出了问题造成的潜在损失等等 , 不过 , 随着研发队伍的不断成长 , 这个概率会越来越低 。
难道没有折中方案吗?1.\t金融机构自身的折中方案
为了解决以上问题 , 金融机构通常会在建模过程用 Python , 生产环境转写为 SAS , 同时利用一些脚本和工具 , 将 Python 脚本转成 SAS 语言 。这样 , 既可以用得上会 Python 的人 , 解决人才梯度的问题 , 又可以解决稳定性和精度要求以及信用背书的问题 。
不过 , 这个方案依然没有解决较高成本投入问题 , SAS 的 license 和维保每年要买 , 甚至 , 还要养两套人马 , 懂 Python 的自不用说 , 还需要少量懂 SAS 的人来维护这套 Python 转 SAS 的工具 , 毕竟 , 任何一边升级了都可能导致脚本出错 , 转换环节越多 , 出错概率越大 。
2.\tSAS 的折中方案
SAS Viya 已经开始支持开源语言了 , 可以更好的解决人才梯队问题 。
找不到会 SAS 的人?没关系 , 会 Python 也行 , 同时还可以由SAS提供环境的稳定性 , 以及完善的售后运营机制提供支持 。
但同样 , 作为一款数据分析工具 , SAS 的使用成本较高问题依然存在 。
3.\t最关键的成本问题和历史遗留问题如何解决?
生产上用 SAS 确实可以确保稳定性和精度 , 以及提供信用背书 , 并且 , 基于以上两个方案 , 人才梯队问题也可缓解 。
那么 , 较高的成本问题和上面所提到的历史遗留问题如何解决呢?如果有一个成本比较合适的商业化软件 , 可以支持 SAS 代码 , 是否就可以解决历史遗留问题 。
还真有 , 笔者最近使用了一款叫做 WPS(此 WPS 非彼 WPS)的软件可以支持 SAS 语言 , 也支持开源语言 Python 。


这其实就可以解决历史遗留问题 , 假设某家机构 , 有很多历史代码是用 SAS 写的 , 但是由于某些原因 , 不想续费了(可能是因为真的很贵) , 但是又不想把这些历史代码用 Python 重构(毕竟风险真的很高 , 万一出岔子谁来承担责任) , 那就可以用 WPS 来管理历史代码 , 万一需要微调 , 也可以直接在上面实现 , 风险可控 。
WPS 最近被另一家软件公司 Altair 收购了 , 这个公司应该也是看到了这个场景的价值 , 既能保证使用 SAS 语言构建的历史模型平稳运行 , 又可以更高效地帮助公司向开源+闭源混合语言体系结构过渡 , 且能以更低的成本 , 保留和利用闭源软件+闭源语言的最大优势 。
参考资料[1

r-vs-python-vs-sas: https://medium.com/@akeriasolutions/r-vs-python-vs-sas-8224d2a426ae
[2

SAS R Python analytics pros prefer: https://www.kdnuggets.com/2016/07/burtchworks-sas-r-python-analytics-pros-prefer.html