在业务繁多,用户触点丰富的平台系统产品中,单条用户数据被记录的信息字段通常达到成百上千甚至上万个。要使得通常不懂也不会用SQL查询运营同学能高效的对用户的存量历史数据进行有效的筛选查找,简单的对象管理的筛选查找通常又是不够用。往往需要聚合能力强大的过滤器。

如下图“会员信息筛选器”在《电商平台CRM规划:满足多业务场景的会员标签管理》中有过提及,如果在没有过滤器的情况下,要想对用户日益增长的全量信息进行筛选查找,从产品设计的角度,这成百上千的字段怎么摆放就是个问题,使用上更是繁琐复杂难用。估计这样的产品即使设计出来了,也会被运营追杀。

会员信息筛选器

先来对过滤器做个定义(完全自创,如有雷同,纯属巧合)。过滤器,顾名思义就是要具备过滤的功能,在此是基于用户的基础信息、触点信息、历史行为记录等数据仓库中的全量留存数据,根据需要进行的快速任意组合的条件查找工具。

过滤器的逻辑就是SQL查询,从目标数据仓库的数据表中,根据需求条件找到符合要求的结果;其核心功能是能够对条件/条件组与条件/条件组间的关系能够灵活设置管理;其表现形式就是Access的NoSQL的窗体表单组合

为了降低过滤器使用门槛,又能让运营灵活的管理条件/条件组之间的关系(通常两两对象之间的关系就是and/or),最早是想借鉴Marketo中Trigger的设计,也参照过Vtiger中的灵活的权限管理设计,尝试过多种产品的表现设计,权衡了很久,都感觉不合适,最后在常用的Axure页面管理器中找到了较佳的灵感。

Axure中页面管理器

相信产品汪们对Axure肯定不陌生了,Axure的页面管理器的功能主要有:

  1. 常用的(页面)对象管理:增删改查
  2. 添加:基于当前对象,添加另一个对象(上下添加)
  3. 移动:基于一个对象对另一个对象进行(上下移动,升级/降级(嵌套关系))

Axure的页面管理器中对对象的两两之间的关系管理算是比较完善的,但是缺少两两对象间的关系维护设置。

在对过滤器进行产品设计时,吸取了Axure的页面管理器中对两两对象的管理,增加了其缺失的两两对象间的关系维护(任何对象与对象间都有and/or进行关系联接)。

如下图:过滤器创建设置

过滤器创建设置

一个过滤器由名称、描述、过滤条件组成,其核心在过滤条件。

过滤条件,是由多个条件/条件组根据需要进行组合配置的结果,其功能主要有:

  1. 条件/条件组的增加、修改、删除,创建时的查找(见下图,过滤条件增加);
  2. 条件/条件组间的关系维护,两两条件/条件组间的关系and/or的选择;
  3. 条件/条件组基于另一条件组的升降级的嵌套关系维护(考虑到开发实现,产品实现前期不用考虑)

具体对过滤器中条件/条件组的设置,条件是对单个条件的设置,条件组是对两个及以上的条件进行同时条件设置及其两两之间关系设置。

过滤器条件设置

条件/条件组中的条件是基于数据仓库中的用户留存数据,其数据主要概括为:

  • 基础属性:人口统计学角度的用户描述信息,通常源于用户注册及营销活动;
  • 行为记录:用户与在平台产品中发生的交易、关注、分享等留痕数据;
  • 触点信息:用户通过不同的渠道与产品发生信息流转的接触点;

以上图中显示的交易数据的部分字段,选中一个字段,该字段内的统计信息即可展开,供NoSQL的傻瓜式操作选取目标条件

梳理完本文的一点小感悟,产品设计还是要见多识广,看的多了用的久了,产品设计时,历史经验和知识会给你带来意想不到的惊喜。

本着学习交流的态度发此文,如有疑异或好的建议,欢迎拍砖打赏,欢迎批评指正!

 

•END•