用数据辅助设计-搜索中的实践

设计时不能单凭经验和直觉,因为涉及到的目标人群、场景、操作习惯的不同。为了获取更准确、有效的信息去辅助、检测设计,设计师会选择定性(用户访谈、焦点小组)和定量(调研问卷、网站数据分析)的方式进行用户研究。其中“网站数据分析”这一方式不需要花费较长的时间及人力成本,同时避免了用户及环境等不稳定因素对分析结果造成的干扰。只要具备精准及适用的数据,我们应优先选择这一方法辅助设计。

通常我们可以获取到哪些数据呢?

1、 网站数据

搜索常见的数据如下:

Query – 搜索关键字数

PV(Page View) — 页面浏览量,页面每一次刷新即被计算一次

UV(Unique Visitor) — 用户访问数

Click — 页面总点击数,每一个功能都会有相应的点击数

L->D — 搜索list页面到detail页面的点击数据,即转化率,不同页面有不同的数据。

CTR — Click/LPL,LPV即搜索list页面上的浏览量,CTR即每次浏览的点击次数。

2、 用户访谈、定性调研、焦点小组

3、 已有结论的报告

4、 线上测试(如A/B test,搜索中常用内部开发的可以多方案上线测试的buckettest)

网站数据中可以了解到什么信息? 

1、关键字流失率分析

图1是用户输入“女鞋”相关的关键字及相应的UV流失率(即没有在搜索页进行过任何操作行为的用户数占所有搜索用户的比例),从数据上看添加了真皮、广州、时尚等属性词的关键字流失率相对低很多。

关键字描述越详细,搜索匹配到的产品越准确,用户也就可以更快的找到目标产品。但让用户精确输入关键字的成本较高(如用户不知道用哪些描述词更适合等)。如何降低这个成本?我们可以使用suggestion(关键字推荐)(见图2)和SN区(类目属性筛选区)(见图3)给用户恰当的推荐和引导。

2、快速筛选改版后数据分析

图4是搜索上的筛选项。搜索的目标应该是更快、更准确的帮助用户找到产品,筛选区便是其中一个重要的组成部分,让用户更快的找到筛选项以及简单的完成筛选操作,是每次改版的中心目的。

各筛选项应该放在哪里更合适,很大程度上取决于用户在查找产品的时候,更关注哪些维度的信息。对于已经上线的功能,我们可以通过数据进行分析,如上图是筛选区的CTR数据,可以发现用户使用地区、排序、单价、经营模式操作较多,说明用户对这方面筛选需求较大,也较关注这几个维度的信息,以此可以将筛选项调整到方便用户查找的位置,也降低了用户的记忆负担,因用户一般都是从左到右浏览,所以可以将重要的筛选调整到首位或是用视觉突出。而一些数据较低的筛选,可以根据情况隐藏或是下线,也增加筛选区的扩展性。

图5根据图4的数据,我们对筛选项的位置以及排序按钮交互方式进行了调整。

新版本上线两周后我们发现用户较关注的筛选项调整到左边位置后CTR数据明显上升(绿色为明显数据上升,红色则数据下降,其他数据小量上升)。

综上所述,设计、迭代流程如下:

数据验证,这个一次相对成功的设计。

3、对比功能上线后数据分析

同时,我们来看一个不合理的产品设计(见图7)。图上是阿里巴巴在去年上的对比功能,用户勾选产品加入对比(图7第1步)只占整个搜索CTR0.6%左右,而到最后点击了对比按钮(图7第2步)的转化率只有其中的10%不到,对比功能的使用率很低。

根据这个发现,我们召集了5个测试者(1位产品经理、1位运营、3位用户)进行了焦点测试,得到如下几点反馈1、用户只要看其中的几个信息,不需要那么多维度的信息对比。2、用户更习惯通过点开detail进行对比。

很多垂直化的行业搜索都有对比功能,如太平洋、中关村、淘宝的手机等,该功能通过对比信息帮助用户挑选出更符合目标的产品。但适不适合我们的网站,还需要多考虑一番。结合以上数据来看,对比功能更适合一些需要关注多维度信息对比的垂直行业,而关注维度较少的,用户通过短期记忆就可以达到。

运用数据检测设计

一般在全量上线前会通过buckettest测试各方案,对比用户行为数据检测哪个方案更合理、体验更好。

通过bucktest可以得到如图8的对比数据,红色为数据下滑,绿色为数据上涨。

运用buckettest测试,对于检测设计是很有效的方法,特别是针对小细节的体验优化。对方案调整处数据打点,就可以监测到相应的数据变化。例如按钮调整,检测调整后是否比原来的方案体验更好,在测试前要求开发同学在监测数据时给这个按钮打点,测试后就可以了解到按钮调整前、后的对比数据。如你想了解按钮位置调整是否能提升体验,在设计时就要规避其他因素可能引起的影响如按钮样式等,以此来不断优化设计方案。

总结

分析数据、读懂数据、运用数据,可以很好的辅助我们去设计产品、改善体验,这也是设计师需要掌握的一门必修课。

数据虽然很强大但是不要迷恋它,不要只关注数据的起落,而是要分析数据背后真实的用户原因及需求,数据只是一个分析辅助工具。

不要任何设计都依赖测试及数据检测,每一次测试所需的开发和时间成本太高。尽管设计师不能作出100%的正确判断,但是结合有效的工作习惯及总结分析,还是能够大大的提高设计的准确率及解决方案的有效性,这也是设计师的价值。

转载于:https://www.cnblogs.com/mainet/archive/2012/06/03/2532662.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461983.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在IBM服务器安装Windows server 2012的心得

一个简单的问题被我搞复杂了! 前些日子,由于连接服务器时卡顿、没有反应,我把服务器强制重启了,之后很不幸地,系统开机进入界面后,不断地转圈圈,一段时间后提示“你的电脑遇到问题,…

fd_set 详解

一、winsock中#include <winsock.h> 原型 int select( int nfds , fd_set* readfds , fd_set* writefds , fd_set* exceptfds , const struct timeval* timeout ); nfds&#xff1a;本参数忽略&#xff0c;仅起到兼容作用。 readfds&#xff1a;&#…

VisualVM远程连接Linux服务器通过jstatd方式监控JVM内存状态

2019独角兽企业重金招聘Python工程师标准>>> VisualVM远程连接Linux监控JVM的方式有两种,一种是jstatd,另外一种是JMX,这里描述jstatd的方式: 1.通过google/baidu出来的文章做法大致都雷同这里给出我开始参考的连接http://lixjluck.iteye.com/blog/516447 2. 但是…

STRUTS2 标签调用静态方法

struts2 ognl 调用静态方法 用ognl的静态调用<s:property value"%{java.lang.SystemcurrentTimeMillis()}"/>来显示,发现结果集为空.查了好多资料都发现这个是正确的引用,困惑......最后在查struts2.1.2的文档时发现struts2.1.2中加了很多配置元素,其中有一个名…

一些自己编写的字符串操作函数

1、编写strcat函数。&#xff08;在目的字符串结束处添加源字符串&#xff09; /*已知strcat函数的原型是char *strcat(char *strDest, const char *strSrc); 其中strDest 是目的字符串&#xff0c;strSrc 是源字符串。 不调用C / C 的字符串库函数&#xff0c;请编写函数 strc…

Android开发实践:常用NDK命令行参数

Android提供了NDK工具&#xff0c;用来编译native代码&#xff08;c/c&#xff09;&#xff0c;该工具配置好了相关的交叉编译环境和工具链&#xff0c;只需要你简单地编写几个.mk文件即可将你的c/c代码编译为Android的java工程/Android手机可以识别、加载和运行的库或者应用程…

QT问题记录之warning: ‘xxx’ will be initialized after [-Wreorder]

QT问题记录之warning: ‘xxx’ will be initialized after [-Wreorder] 在使用Qt进行Application开发的过程中&#xff0c;经常出现如下警告&#xff1a; warning: ‘xxx’ will be initialized after [-Wreorder] struct TreeNode {TreeNode *left;TreeNode *right;int val;//…

SD读写流程

一、1bit-4bit数据传输对比 CPU/EDMA与SD的数据传输可以设置为1bit或4bit模式&#xff0c;1bit模式仅使用DAT0数据线&#xff0c;4bit模式使用DAT3-DAT0四位数据线。例如&#xff0c;传输512字节的数据&#xff0c;传输的数据格式如下图所示&#xff1a; 二、读写命令 读写分为…

ubuntu14.04 64bit主机下面安装android的NDK开发环境

通过wget工具下载bin包&#xff1a; $ wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin1 2&#xff0c;因为下载下来的是bin包&#xff0c;所以可以直接移动到需要安装的目录下面。 将Android NDK bin包移动到你想要的目录下,如 /opt/NDK/1 $ …

二维数组数和指针操作的理解

#include<string.h> #include <stdio.h> int main(void) {int a[4][2] { { 2,4 },{ 6,8 },{ 1,3 },{ 5,7 } };char *p[5] { "acvsadf", "cwerqwenn", "tttttt" };//字符串指针数组int c[4] { 0,1,2,3 };int *ptr c;/*这个正确&…

最近重构公司消息服务的架构设计

目标 研发一套独立的消息系统&#xff0c;此系统进行集中配置管理供各业务系统使用&#xff0c;用于支撑站内信、短信通知、短信验证码、邮件、微信消息、APP消息、IM等消息形式。 架构 1&#xff09; 基于消息队列采用发布、订阅模式。消息的生产者为对外的消息接口&#xff0…

高性能的MySQL(6)查询慢与重构查询

只有好的库表结构、合理的索引还不够&#xff0c;我们还需要合理的设计查询&#xff0c;齐头并进&#xff0c;一个不少才能充分发挥MySQL的优势。一、查询为什么会慢&#xff1f;每一个查询由一系列的子任务组成&#xff0c;每个子任务都会消耗一定的时间。这个我们在之前的单个…

生成n个从1到M(n = M)之间的不重复的随机数问题(洗扑克牌算法)

结合了对数组的使用、随机数生成等算法的知识。 学习这种由特殊到一般性的学习方法。面对复杂问题时候的逻辑僵滞和停顿。要加快速度锻炼这种缺陷&#xff0c;使之得到弥补。 思维僵滞的时候可以把问题联想成具体的模型&#xff0c;做到在脑海中有个具体的形象。这总比茫然一片…

CFLAGS详解

CFLAGS 表示用于 C 编译器的选项&#xff0c; CXXFLAGS 表示用于 C 编译器的选项。 这两个变量实际上涵盖了编译和汇编两个步骤。 CFLAGS&#xff1a; 指定头文件&#xff08;.h文件&#xff09;的路径&#xff0c;如&#xff1a;CFLAGS-I/usr/include -I/path/include。同样地…

一道大小端题目

今天看到一道关于大小端的题目&#xff0c;觉得很有趣&#xff0c;理解一番后摘抄如下&#xff1a; 题目&#xff1a; 示意图&#xff1a; 结果说明&#xff1a; 小端模式 大端模式

算法复杂度速查表

图例 数据结构操作 数组排序算法 图操作 堆操作 大 O 复杂度图表 Big O 复杂度 推荐阅读 Cracking the Coding Interview: 150 Programming Questions and Solutions[33] Introduction to Algorithms, 3rd Edition[34] Data Structures and Algorithms in Java (2nd Edition)…

求 s=a+aa+ aaa+ aaaa +aaaaa+........的值,a是从键盘输入的,项数也为键盘输入

总结&#xff1a;这道题目。主要是那个位数&#xff0c;需要*10&#xff0c; while&#xff08;i<f&#xff09;{ xy;//决定位数上的那个数 sumx//求和 y*10y;//决定位数 } package com.b;import java.util.Scanner; //输入一个数&#xff0c;如6 s666666666666666666666 6…

遇到异常:这可能是由某个扩展导致的

重构机房收费系统&#xff0c;我用EA画完UML图&#xff0c;打算用EA自己生成VB.NET代码&#xff0c;这样会方面些。没想到事情没有我想象的那么简单&#xff0c;可能是第一次尝试的原因&#xff0c;导入代码的过程中问题是一个接着一个。不过还好&#xff0c;虽然沿途困难重重&…

c++ 学习链接

1 chinaitlab实验室------c 2 转载于:https://www.cnblogs.com/javaspring/archive/2012/06/14/2656117.html

文件IO——文件IO相关概念

1、API &#xff08;1&#xff09;基于linux做应用开发&#xff0c;其实就是通过调用linux系统提供的API来实现。 &#xff08;2&#xff09;API 是一些由linux系统提供的函数&#xff0c;给应用层使用&#xff0c;以完成一定的功能。 &#xff08;3&#xff09;常用的文件IO的…