G1.06.3suppress empty facet combinations设计研究

无结果的分面组合需要提前抑制

别名: 空组合抑制 · zero-result facets · 死路分面

概念解释

两个分面的取值一求交就是空集,这个组合就不该等用户勾完再报「无结果」。提前抑制指:在还差一次勾选就会走入空集时,把那一次勾选从可选集合里拿掉或标成不可用,让空组合无法被组成。它保护的是「每一步都仍有对象」,不是美化零结果页。零结果页是已经走入空集之后的补救;抑制是不让这条路被走完。

库存为零和逻辑不可能都可以是空集,抑制针对的是「再走一步必空」这一事实,至于空的原因要另外说明。

机制

分面的每一步都应缩小但仍非空。人用当前结果是否还在,来判断自己的约束是否还合理。若允许勾出一个空集,反馈被推迟到最后一步,前面的勾选无法被逐个问责:到底是颜色太窄、价格太窄,还是两者一起才空?提前抑制把「再加这一刀会切光」变成当前决策的可见属性,工作记忆不必回溯整条约束链。

抑制必须随已选约束重算。静态地删掉「酒 + 婴儿」不够,动态库存下「红 + XL + 本店」也可能刚变空。算得慢或算得不全,抑制会留下死路,或误杀仍有结果的组合。

怎么研究

比较「允许走入空集」与「差一步时抑制」对约束修正的影响。

  • 范式:同一分面集,一种条件允许零结果再提供清除,另一种在将空时禁用或隐藏下一步;记录修正约束的时间与方式。计数预示(N 件)可作为第三种。
  • 自变量:抑制时机(勾选前 / 勾选后)、抑制形式(禁用 / 隐藏)、是否显示若勾选将得到的件数。
  • 因变量:走入空集的次数、回溯到哪一步才改、任务完成时间、误以为某类商品不存在的比例。
  • 方法论注意点:隐藏会改变分面的表面完整性,用户可能以为该取值根本不是类目的一部分。研究里要把「以为不存在」和「知道暂时没货」分开问。预计算成本会影响能否在真实延迟下做抑制,实验室若瞬间返回会高估可行性。

边界

探索性查找有时需要看见「这种组合目前没有」,作为市场或馆藏的真实信号,完全抑制会抹掉这条信息。此时应禁用并保留取值可见,而不是摘掉。逻辑不可能(正交失败造成的空)与库存暂时为零应区分呈现,否则抑制会把分类错误当成没货。极大分面空间无法预计算全部组合时,至少对已选约束的邻域做一步前瞻,不要声称「全部提前」。

怎么落地

  • 每次已选约束变化,重算每个仍可选值的交集大小;将为零的取值在勾选前标为不可用。
  • 不可用时尽量留下取值和原因(「与当前颜色组合为 0」),避免用户以为该类目被删除。
  • 逻辑空与库存空用不同文案,前者修分类,后者才是补货或放宽。
  • 验证:故意走向一条将空的路径,在最后一次勾选之前就应无法组成空集。若仍能勾出「无结果」,抑制没有发生;若取值消失且说不清为什么,抑制过了头。

延伸

  • 同组G1.06.1 分面允许多维度独立筛选 · G1.06.2 分面之间必须正交
  • 相邻G3.07 零结果处理 · G3.10 分面导航 · G3.08 筛选器
  • 站内检索empty facet combination · zero-results prevention · faceted search

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/G1.06.3