Raymond's Notebook
日拱一卒无有尽,功不唐捐终入海
Summary of 2021
2021

跨过2021,来到2022,如果以2020作为疫情元年,那么大流行已经持续2年。

南方周末在2020年新年献词中写下如此金句:

这是新的一天,也是新的一年,还是本世纪20年代的起点,祝福你新年快乐!
在这个特别的时间节点上,很容易想起那句曾广为人知的“预言”:2019,可能是过去十年里最差的一年,也可能是未来十年里最好的一年。
如果你依旧怀揣梦想,应该难以接受如此悲观。但当你意识到自己身处的历史场景,是在一个百年不遇的世界大变局中爬坡过坎,你是否感慨,脚步匆匆,走得并不容易? <详情参见>

如果你再联想起豆瓣穿越人的“胡言乱语”,不知道你将如何规划自己的未来?对于2020之前的年代是否会念念不忘?
其实无论你是悲观还是乐观,时代的车轮仍然滚滚向前,根本不会给你踹息的机会,站在后疫情时代2年的节点上,我想对过去的2021好好总结一番。一个朋友说,如果你不时常总结自己的过去,你和一颗电池没有差别。我觉得他说的很对,特别是对于生活在当下的人们来说,有些时候你真的很像一节燃料电池。

过去一年我们团队工作地点换了两次,公司上下也经历了很大的变化;对于我个人而言,也是巨变的一年,很多东西我都无法改变,能够改变的唯有自己。我是一个喜欢安静和独处的人,如果让我选择未来的工作,我宁愿选择安安静静地编写代码,让代码去实现未来的理想,从而改变自己的生活,也许这过于飘渺,但是并不是不能实现,关键在于自己能否坚持,不忘初心。
感觉2021年自己并没有多大的进步,缺点仍然过于明显,做了一些事情,但是结果却不可控;回首过去,仍然是匆匆赶路的时间太多,停下来思考的时间太少,自己仍然未能达到掌控自己命运的地步。

回到技术侧,年初为了让支付系统成型,我将支付系统的职责划分为三大块:

  1. 对接外部平台,将外部电商系统与支付系统无缝对接;
  2. 内部优化收银台和支付业务;
  3. 对接外部收单渠道,对接更多电子钱包和本地支付;

整个团队重点围绕这三块对支付系统进行建设和优化,初步勾画出一个成型的跨境电商支付系统。

上半年,我全程参与了PCI认证,对PCI有了深入的了解;公司拿到PCI证书后,我们能做的事情变得更多:

  • 可以加密存储用户信用卡数据,做邦卡消费,甚至一键支付都变得容易,为用户提供更佳便捷的消费体验;
  • 可以通过API直接对接收单渠道,在PCI证书的影响下,更多第三方愿意和我们合作,实现了一个信用卡界面,对应多个信用卡收单公司,降低了对单一公司的依赖;

在认证过程中,我们借机对系统进行了改造,将原有单机多服务系统,整体迁入K8S,并对数据库进行主从拆分;业务服务也进一步拆分,将核心服务中的统计功能拆分为单独的服务;新增:

  • 分布式ID服务,为后续拆表,水平扩展打下基础;
  • 监控服务,对所有核心服务进行监控,服务不可用时,及时通知开发人员;
  • 订单挽回服务,和延迟队列配合,异步发送弃单挽回邮件;

下半年,主要是扩展支付渠道,围绕提高支付成功率,做其他相关优化;为了能够,有效地衡量支付系统的效能,我做了如下一些工作:

  • 为支付系统定义各项关键指标,用这些指标来考察当前支付系统的状况;
    1. 页面加载速度,页面打开率 = 已经打开收银台订单 / 支付系统接收到的订单;打开率越高,说明收银台响应速度越快;
    2. 提交率 = 点击提交支付的订单 / 支付系统收到的订单;
    3. 放弃或者失败率 = 未提交支付的订单 / 支付系统收到的订单;
    4. 渠道成功率 = 最终付款成功订单 / 点击提交支付的订单;(衡量第三方收单机构的投递成功率)
    5. 最终转化率(付款率) = 最终付款成功订单 / 支付系统收到的订单;
      其中付款率这个指标,可以看成整个支付系统的产出,也是运营最为关注的结果值。
  • 为了计算指标数据,我写了一个Python统计程序,根据每日导出的csv交易数据,计算各个指标值,输出统计图表,直观反应支付系统的状况;
  • 有了指标,也有了监控数据,但是有些时候,除了系统本身有明显问题以外,造成转化率的下降,还有其他一些无法知道的原因;这个时候该怎么办?最有效的办法就是让用户主动告诉我们原因,因此我想到了用户调查这个点子,和同事商量后,很快上线了这个功能;根据预设问题和用户主动填写的问题,我们很快收集了很多用户在支付过程中出现的问题,这为我们后续重点优化功能点提供了极大的帮助。

为了提高支付转化,我们团队做了如下这些工作:

  • 提高页面加载速度,增加占位屏,提升用户体验;
  • 上线统计功能,对各项系统指标进行统计;
  • 完善日志系统,记录前后端错误日志,第三方支付错误日志;
  • 增加支付渠道,对接更多第三方支付,包括分期支付,先用后付,本地线下支付;
  • 上线用户调查,更快发现用户问题点,对于支付系统无法解决的问题,及时通知第三方或者电商平台;

其实提升支付率的一大关键点在于降低用户放弃率,而放弃率又受以下几点的影响:

  • 用户信用卡有问题或者支付系统对接的第三方不支持当前用户的信用卡,信用卡因为风控被拒;
  • 支付收银台没有用户想要的支付方式;
  • 收银界面不够友好,导致用户不信任;或者是 shipping 地址不方便修改,coupon 无法应用等等;
  • 用户单纯不想下单,不想继续支付;
  • 产品本身吸引力,包括价格吸引力仍然不够,导致用户最后一刻放弃;

有些问题是不可抗力的因素造成的,比如风控问题;有些问题是系统自身设计问题,比如用户不信任,地址,coupon 无法修改或者使用;而另外一些问题,本身和产品有关,需要和其他部门合作,一起解决问题。

支付系统上线接近2年以来,我们团队一直是小团队运行,起初只有3个人;后面最多时加上测试也不超过10个人;小团队的好处是,沟通效率极高,功能开发速度快;但是缺点就是无法面面俱到,由于涉及支付的系统,其实又是一个相对很重要的系统,如果出现问题不仅仅影响整个网站付款率,还对财务对账,退款,有很大的影响。实际上我们确实,实现了从付款到退款的闭环,只是还不够丰满。

回顾去年,就目前而言,支付系统还存在如下这些问题,需要解决:

  1. 支付方式不够,特别是某些国家和地区的本地支付渠道,还不够多;很多用户还是反馈,没有适合他的支付方式,导致拒绝付款;
  2. 投递逻辑仍然不够智能,目前某个地区支付方式的选择仍然依靠后台配置,并没有依赖过往数据做比较来决定谁胜出,这和我们目前信用卡支付渠道较少有关,也我们我们程序逻辑不够智能有关,也没有建成支付渠道的打分评级系统,导致无法通过程序选优;
  3. 支付渠道错误统计,没有深入跟踪出现错误的原因,该项做好后应该可以进一步提高渠道投递成功率;
  4. 过重依赖第三方风控公司,没有建立完善的自建风控,目前自建风控还过于简陋和粗暴;
  5. 收银台页面UI还需要进一步优化,需要建立完善的UI A/B 测试,目前虽然可以做A/B 页面切换,但是AB测试,统计数据有效性检验,并没有形成;

2021 已经过去,2022 悄然到来,公司最近半年的变化让我感慨万千,五味杂陈;有些问题我无法改变,能够改变的唯独只有自己。 2022 希望有个好的开始

2022