如何设计一个好用又好看的订单号?或者说应该有什么规则和依据?读了这篇文章,也许你会得到一个不一样的好主意。
1.三个真实案例
案例1
最近面试的近20个产品经理中,我会提一个问题:请为我们公司的订单系统设计一套订单号生成规则。有一些职场一两年的新人,也有一些工作近十年的老鸟。当然,也有很多运营商或开发商被转做产品,有的甚至做了订单和支付系统,但几乎所有的受访者都没能做出全面的表述。
情况2
去年某个时候,朋友A的公司订单系统升级,在没有告知运营和市场的情况下,将订单号长度从14位改为19位(事后才知道当时产品人员并不知情),而公司现有用户中至少有70%是货到付款,也就是说, 他们每次刷卡前都要输入订单号,然后你也知道,整个市场都炸了,所以开发紧急放行,把订单号长度改回14位。
案例3
说一个六年前的经历。当时我的朋友(简称C吧)在一家游戏公司做PHP网站开发,C和其他几个人开发完成了整个游戏的在线支付系统,联调成功。系统运行后,发现了一个情况。某游戏玩家充值5万。当时运营商想查询充值时间,但后台系统没有记录充值时间。无奈之下,他只好去数据库查时间戳,然后根据时间戳反推充值时间。
2.近20位产品经理给出的答案
回到上面案例1的问题,其实题目中隐含了一个联合信息,就是系统是为我公司设计的,不是为其他公司设计的(我公司现在是做酒类B2B,以后可能会做B2C或者其他产品)。但几乎所有的受访者都忽略了这一点。
这些考生的原话我记不清了,主要集中在以下几个思路及其组合。括号内是我的评论(吐槽):
那么问题来了,一个好用又好看的订单号应该有什么规则和依据?
在此,我想表达一下我的理解。
3.如何生成使用的订单号?
回到问题的本质,订单号是用来干什么的?谁在乎订单号?简而言之,订单号是用来标记/查询订单的(查询时可能更关注物流订单号),通常在订单有付款/售后/异常问题时使用,也就是说订单号主要是客服/运营/开发部门使用。
那么客服处理一个订单的时候,什么格式的订单号会比较好用呢?首先,订单号中最好避免数字以外的其他字符类型。订单编号应尽可能短。订单号应结合当前业务情况尽量有具体标识,如渠道号(包括平台、订购渠道、支付方式)、业务类型、时间信息等。为了便于理解,下面是一个例子:
平台:以游戏为例。目前除了官方服务器,很多手游都是和小米、腾讯等其他平台联合运营的。但是,同一组也可用于充电。在这种情况下,有必要在订单号中标记平台。
总结一下,我给出的好用的顺序规则如下:
订单通道1位+支付通道1位+业务类型1位+时间信息4位+订单时间的Unix时间戳后8位(或者这8位之后的数字加上随机码和随机规则是随机的)+用户id后4位。然后你会说,这样算的话,订单号就是19位数了。一点都不简洁。很难记,很难读,很难丢。但也不一定非要加上以上所有的商业标志。
那么我们来看看《思考电子商务订单号的设计》中提到的两个问题:
问题一:为什么淘宝单号这么长?几年前是第12或第13,现在是第16。订单号之所以这么长,是因为它足够短,毕竟这么大的用户基数和订单量。现在都16了?I query 2011年的淘宝订单发现是14单,而不是简所说的12/13单,但从14单扩张到16单应该很大程度上是因为业务增长。
问题二:为什么我的淘宝号后四位数字是一样的?这四个数字代表什么?2011年3月前的订单,后四位不一样;3-7月之后的淘宝订单(4月5月6月我都没下单),后四位也一样。我猜可能是用户id。后来我核实了一下。在一定程度上,的确如此。比如我ID的后四位是1190,订单的后四位是9910。从这个角度来说,淘宝订单的后四位只是简单的用用户id的后四位来处理。至于前12位,我猜其中10位可能是Unix时间戳加随机规则生成的。
4.如何生成好看的订单号?
我相信很多人都受够了银行卡上没破的银行卡号,快递单上没破的快递单号(顺丰快递很好)。这些简直就是反人类的设计。其实订单系统也可以借鉴顺丰的分段展示的思路,方便查看和阅读。
如果做的更聪明一点,支持在网页上双击复制或者在APP上长按复制(点击后即可复制),不是更好更人性化更方便吗?

5.一些题外话
前几天看到全职妈妈APP的订单号。四位数纯自增,极其简洁。当时我就奇怪他们为什么把订单号设计的这么短。后来我仔细想了想他们的具体经营情况。或许是这样的:处于业务发展初级阶段的全职妈妈们,不希望用户在问题时报里对冗长的订单号进行反馈,同时也希望用户能感受到有很多人在使用APP,通过订单号下单,从而打消他们的一些顾虑。
滴滴出行每次出行都有司机车牌号,遇到问题直接反馈“时间+起点+车型车牌号”可能更方便。同样,我饿了,反馈的时候也不会报订单号。直接报时间和商家名称比较方便,客服处理问题的时候订单号可能会用多一点。
作者:詹世波








