用户在地图上搜索一个地点到另外一个地点后,会有不同的公交线路。如何为这些线路排序,将最适合、成本最低的公交线路推荐给用户呢?如何衡量推荐策略是否真正满足用户需求,是否真的有效呢?以下,笔者将为大家详细讲述。
一、背景以及目的
1. 背景
搜索一个地点到另外一个地点后,会有不同的公交线路,探讨其中的推荐策略。
2. 目的
通过分析公交推荐路线的策略四要素,给用户提供最适合,成本最低的公交线路线。
3. 如何衡量策略是否有效?
推荐线路排序后,用户点击线路越靠前,则策略越有效。
用户是否换到其他的排序方法,比如:换乘少,步行少等排序方法,换的次数越多,策略越无效。
二、产品目标
基于不同的用户和场景,给用户提供成本最低、最适合的公交线路。
三、具体策略
1. 待解决问题
针对不同的用户和场景,如何给用户提供成本最低最适合的公交线路呢?
2. 输入
影响因素有哪些?
其中,若一个因素占据用户主要考虑因素,如时间因素,则系数加权时间——意为:耗费时间越长的线路得分越多,则排序越靠后。
3. 计算逻辑
有时候推荐的路线可能不是最快的、步行距离最短的,但是为什么会成为推荐路线?
——这是由于不同的影响因素,都有各自的权重系数,所有的影响因素与其权重系数的积加起来,就会得到一条路线的得分。
最佳出行方案应该就是那条得分最低的方案。所以,首先我们需要将方案的各个影响因素的单位统一起来,将时间、步行距离、换成次数折算成分值。
影响因素换算如下图所示:
由图可知:
如果方案一花费的时间为40分钟,步行距离800米,换乘次数2次,花费4元;方案二花费的时间50分钟,步行距离400米,换乘次数1次,花费2元。
方案一的得分为:时间得分 = 40/ 5 = 8分;步行距离得分 = 800/ 400= 2分;换乘得分 = 2 / 1 = 2分;价格得分=4/2=2分。
方案二的得分为:时间得分 = 50 / 5 = 10分;步行距离得分 = 400 / 400 = 1分;换乘得分 = 1 / 1 = 1分;价格得分=2/2=1分
计算逻辑为:方案得分 = 方案时间 * 时间系数 + 方案步行距离 * 步行距离系数 + 换乘次数 *换乘系数 + 价格得分*价格系数+出行方式 * 出行方式系数。
我们假设系数如下图所示:
所以,拿之前的公式算出最终每条线路的得分同时结合用户特征(个性化调整其系数和得分情况)和环境特征(调整系数和得分情况)作出最终的排序。
举例:
用户特征:若根据用户行为记录,该用户偏向于点击/收藏/停留时间长 步行少的路线,那么“步行少”的系数就应当在该用户的整体计算中减少。
场景特征:若用户输入的目的地为高铁站,根据大量用户的历史数据。当用户输入了“高铁站”,用户主要的诉求是“准确”和“用时短”,所以此时这两个的系数应该减少。
4. 输出
迭代依据为:
推荐线路排序后,用户点击的线路越靠前,则策略越有效。
用户是否换到其他的排序方法,比如:换乘少、步行少等排序方法,换的次数越多,策略越无效。