作者: Wander_Yang

我在年初参与到“SHAPE”这款健身产品的研发中,也算是第一次以产品经理的身份,从0开始负责一个产品的建立。

产品是一款O2O的智能健身连锁店,目前产品已经上线8个月,线下店铺正在迅速拓展,正是回顾梳理的好时机~

项目/竞品调研

目前在线健身产品做的比较大的是超级猩猩和乐刻。以下的数据分析也都是针对这两家产品的。

竞品体验

竞品用户反馈

我在微博和appstore还有应用宝都浏览了一些信息,反馈量不大,有价值的就更少了。后来开阔了一下思路,在大众点评上找到了更多的高质量的评论。

关于反馈的整理和分析之前写过一篇更完整的分析文章,有兴趣的童鞋可以去看看

《健身产品的竞品用户评论调研》

竞品分析结论

基于线上产品线下店铺体验两个方面,去借鉴竞品的优点和补足其短板。

1.产品优化

①将“约课”和“我的”作为主要的两个tab做,产品结构清晰,操作流程简短明了。

②对用户位置和约课习惯进行记录,优化课程的推荐算法。

③将课程特色明确标出,减少用户选课困惑。

④沉淀用户运动数据,一方面可以通过用户习惯和完成度推荐用户更合适的课程,另一方面可以打造荣誉体系,将数据转换为成就,甚至价值。

⑤用户数据变化报告,完成度/运动量/排名,增加用户专属感觉。

⑥优秀用户图片的应用(墙面装饰/推送),让用户有自豪感,归属感。

⑦增加评价体系,让用户有话语权,也从另一方面对教练,场馆和课程加强管理。

2.实际体验优化

①场馆的管理,包括装修/质感/空气质量,也包括卫生情况和器材的清洁度。

②课程和教练的管理,教练需要更专注,更关注学员,能尽量给出适当的指导,能在高阶课程中随机应变给出降阶动作。

明确产品方向

课程上的创新和智能设备的应用会成为我们与竞品之间最大的区别,以此为基础,我们会为会员提供更好的运动监测,不仅为用户提供可视化的实时运动状态,还会将用户数据沉淀下来,让用户更好地计划运动频率和强度。

公众号主要是用户约课的载体,这是它的第一功能,因此需要突出课程预约,减短订单查看路径。另外,也需要展示和沉淀用户的数据,以及作为后期产品运营的工具。

另一方面,为使得线上线下产品配合流畅,我对O2O业务逻辑进行了梳理。

用户行为基本阶段

线下流程梳理

“公众号了解/预约课程-到店体验课程-线下心率监测系统-公众号报告和数据沉淀”,由此完成一个用户体验闭环,为用户提供流畅的健身体验。

另一方面,也是为用户积累数据,将后来能将身体数据变化通过可视化的形式更加直观的展现给用户,也为将后来的用户荣誉体系打好基础。

产品原型绘制/修正

绘制完成产品架构图后,进入具体的原型绘制和制作。

原型绘制阶段我用墨刀把主要的两个产品端制作成可操作的原型,提供给了技术和业务团队去试用,不断沟通,反复验证业务流程和模块。

作为 Sketch 重度使用粉,必须要说 Sketch 越来越牛了,现在可以直接链接模块和页面,在 preview 的时候完成跳转,完美助攻前期简单检查页面逻辑。但就是没法分享给同事,所以还是要用墨刀做可操作原型。

还好墨刀有 plugin 可以直接从 Sketch 导入画板。做好原型微信发过去,嗖嗖的给意见,也不用装客户端,和非产品团队的同事沟通极为简便~特别是O2O产品,非常需要线下同事给更贴近用户的建议。

原型的修正

订单调整

【原稿】:订单简单按照课程时间从近到远依次排列。

【问题】:有取消和完成的订单混排在所有订单中,影响用户寻找可操作的订单。

当用户预约多次课程,需要即时操作的其实是离现在最近的课程

【修正】:取消和完成的订单,折叠到“历史订单”中。排序根据上课时间距离现在时间,从近到远排列。未完成的订单,显示层级最高,根据上课时间距离现在,从近到远排列。

分享名额流程

【原稿】:公众号支持一个用户购买多个名额,但由于心率监测设备绑定和报告定向推送,需要将名额对应到具体用户。因此需要购买多名额的用户将名额分享给他其他来上课的朋友。

【问题】:分享名额的入口不明显,提示不强,用户容易忽略。文案不清晰,用户没有理解必须将名额分享给朋友才可以。

【修正】:修改文案,强调必须分享名额给用户才可以让朋友体验完整的上课内容。

购买多名额的用户,购买完成后,增加分享提示弹框,强提示需要分享名额。名额未发放完的订单,用户进入订单详情中时,分享提示弹框还会重复弹出继续提示用户。

其他不一一列举

1.原课程列表图片为课程封面,线下同事反馈图片并不能说明课程内容,且很多学员非常在乎上课教练,因此将图片替换为上课教练的头像。

2.课程类型原分类为自研课程和合作课程,然而这并不是站在用户角度的分类。为了便于用户理解课程类型,将所有课程重新根据功能性修正为“综合训练/私教小班/舞蹈/身心”。

3.原订用户到店后通过扫码进入签到和绑定心率设备页面,但实际线下前台二维码比较多,进门和购买饮品都是二维码,二维码过多影响用户体验。另外多名用户同时到店的时候,不好扫码。因此在订单列表中,增加了一个“可签到”状态,(介于未开始和已签到之间)。该状态可点击,进入绑定页面。

目前店铺还在飞速开拓,新的课程也在积极研发中,欢迎大家来我们店里健身。

◆  ◆  ◆  ◆  ◆  

作者:Wander Yang 

现 Shapefitness 产品经理,墨刀资深用户~

“不想成为程序猿的设计师不是好产品”,欢迎各路大神不吝赐教,点此进入个人网站

◆  ◆  ◆  ◆  ◆  

墨刀还会不定期分享真实的产品设计案例,为我们带来更多实操经验,也欢迎

【产品案例】我是如何从零搭建起一款健身O2O产品的?的更多相关文章

  1. 原创|我是如何从零学习开发一款跨平台桌面软件的(Markdown编辑器)

    原始冲动 最近一直在学习 Electron 开发桌面应用程序,目的是想做一个桌面编辑器,虽然一直在使用Typore这款神器,但无奈Typore太过国际化,在国内水土不服,无法满足我的一些需求. 比如实 ...

  2. 我是如何从零学习开发一款跨平台桌面软件的(Markdown编辑器)

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 原始冲动 最近一 ...

  3. 从零搭建基于golang的个人博客网站

    原文链接 : http://www.bugclosed.com/post/14 从零搭建个人博客网站需要包括云服务器(虚拟主机),域名,程序环境,博客程序等方面.本博客 就是通过这几个环节建立起来的, ...

  4. SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建

    SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建 技术栈 : SpringBoot + shiro + jpa + freemark ,因为篇幅原因,这里只 ...

  5. 从零搭建docker+jenkins 自动化部署环境

    从零搭建docker+jenkins+node.js自动化部署环境 本次案例基于CentOS 7系统 适合有一定docker使用经验的人阅读 适合有一定linux命令使用经验的人阅读 1.docker ...

  6. 从零搭建consul

    从零搭建consul 原文链接:https://blog.csdn.net/weixin_42107541/article/details/87640807#2linux_25 从零搭建consul1 ...

  7. 从零搭建一个SpringCloud项目之Feign搭建

    从零搭建一个SpringCloud项目之Feign搭建 工程简述 目的:实现trade服务通过feign调用user服务的功能.因为trade服务会用到user里的一些类和接口,所以抽出了其他服务需要 ...

  8. 从零搭建Spring Boot脚手架(1):开篇以及技术选型

    1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎 ...

  9. 从零搭建一个IdentityServer——项目搭建

    本篇文章是基于ASP.NET CORE 5.0以及IdentityServer4的IdentityServer搭建,为什么要从零搭建呢?IdentityServer4本身就有很多模板可以直接生成一个可 ...

随机推荐

  1. Media Session API 为当前正在播放的视频,音频,提供元数据来自定义媒体通知

    google 文档 https://developers.google.cn/web/updates/2017/02/media-session <html lang="zh-cmn- ...

  2. 快速构建springmvc+spring+swagger2环境

    快速构建springmvc+spring+swagger2环境 开发工具:Intellij idea               jdk: 1.8 开发步骤: 1.创建maven工程,如图建立工程结构 ...

  3. <a>标签文字强制不换行

    强制不换行 a{ white-space:nowrap; } 再补充说明所有关于换行的CSS样式: white-space: normal|pre|nowrap|pre-wrap|pre-line|i ...

  4. C#调用VB进行简繁转换

    首先在C#项目中引用Microsoft.VisualBasic.dll,版本自己选择合适的 然后在项目中添加引用:using Microsoft.VisualBasic; 转换: 转为繁体: outp ...

  5. QQ音乐flac音乐转MP6格式怎样实现

    很多时候我们所下载的音乐格式都不是MP3格式的,用起来都是有局限性的,因为很多播放器都是支持MP3格式的.很多时候为了方便使用,我们就需要将不同的音乐格式转换为MP3格式的.如flac音乐转MP3的问 ...

  6. PAT甲级1060 Are They Equal【模拟】

    题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805413520719872 题意: 给定两个数,表示成0.xxxx ...

  7. [No0000133]c# ERROR:“.”(十六进制值 0x00)是无效的字符

    December 24, 2013 c# exception “.”(十六进制值 0x00)是无效的字符. 解决方法:常见于socket方式连接(包括HTTP方式)等.报文交互时候,对方会在字符串后面 ...

  8. spring boot拦截器WebMvcConfigurerAdapter,以及高版本的替换方案

    Springboot中静态资源和拦截器处理(踩了坑)   背景: 在项目中我使用了自定义的Filter 这时候过滤了很多路径,当然对静态资源我是直接放过去的,但是,还是出现了静态资源没办法访问到spr ...

  9. spark运行wordcount程序

    首先提一下spark rdd的五大核心特性: 1.rdd由一系列的分片组成,比如说128m一片,类似于hadoop中的split2.每一个分区都有一个函数去迭代/运行/计算3.一系列的依赖,比如:rd ...

  10. PHP之二维数组根据某个下标排序

    function arraySortByElements($array2sort,$sortField,$order,$iscount=false) { $functionString=' if (' ...