快生活 - 生活常识大全

端产品关于列表内信息项的排序方案设计


  在B端产品中,常用到列表展示信息,其中列表内条目的排序规则及实现方法需要产品经理去思考和定义。笔者思考总结了项目中的一些经验,供大家参考。
  排序的最终目标:
  与所有的产品设计思路一样,我们要"以终为始"去思考问题。不管经由什么方法,排序的最终目的是"以符合业务逻辑的方式呈现信息",也就是说,排序的结果需要在业务层面具有实际意义。
  举个例子,从开发逻辑上来说,任何一个绝对线性的字段,比如条目创建时间,都可以用作排队指标,但是这个指标如果在业务层面毫无意义,就是不可用的。
  排序面临的问题主要有两种:
  1. 业务逻辑不明确
  在这种情况下,别说排序规则,就连排序目标也无法明确。
  这种情况下,需要产品经理参考通用的做法,结合自己对业务的理解去制定一个相对合理的排队规则,比如按时间顺序、时间倒序,或者某个关键字段等。
  另外一种做法是对列表中多个关键指标提供"排序"按钮,把排序规则交给用户,保持产品的灵活可用性。
  2. 实现方式不明确
  B端产品设计要受制于业务规则,业务规则具有复杂性。很多时候我们无法用单一或者明确的方式去实现排序结果,而是需要产品经理去设计一个"算法",来无限接近最终目的。
  下面我用一个例子,来具体解释这个问题。
  2.1 情境
  某资料库类产品,以项目为单位,提供项目信息及文件增删改查的功能。
  其中,项目内的各轮投资信息需要在项目首页进行排序显示,且排序结果影响各轮投资之间的参数计算结果。
  问题:没有单一可以用来排序的关键指标,产品经理需制定排序规则。
  2.2 思路
  在这个案例里,最终需要的排序结果是各轮投资实际发生的顺序。
  针对结果,首先想到的几个可用指标:投资轮次名称、各轮次结束时间(closing date)、各轮次创建时间
  (1)投资轮次名称
  "投资轮次名称"是首先会想到的比较明显的排队指标,且具有独一性。但是经过调研之后,发现各轮投资并不是绝对线性发生,所以无法作为排序的指标。
  (2)closing date
  每轮投资会有closing date,可以标记轮次发生的顺序,且同样具有独一性。
  但是,考虑两种情况,closing date 并不是必填项。
  资料录入时,本轮投资有可能未结束。
  历史资料批量导入,closing date可能缺失。
  (3)轮次记录创建时间
  创建时间是计算机记录的用户操作时间,具有不可更改性,无法适应历史资料导入的情况,或者用户录入轮次顺序颠倒的情况。
  2.3 结论
  综合以上分析,最终制定:
  短期方案为:优先按closing date排序,此项缺失时,按创建时间排序。
  长期方案为:随着产品投入使用和项目资料的规范化,调整closing date为必填项,覆盖closing date缺失的情况。
  总结
  根据以上分析,B端产品列表排序的设计思路,可以用下图概括:
  以上,希望能为B端产品的小伙伴提供一些参考和思路。
网站目录投稿:梦寒