← All Posts

兴趣点失去了,怎么判断?When Interest Is Gone, How Can You Tell?

今日头条在买完车之后还是不断给我推各种汽车新闻..

思考了一下解决方案

----简述----

给用户不同主题/频道的浏览与操作行为打分,并于“距离目前的时间”进行加权计算,根据分数的高低对用户行为轨迹与兴趣点进行判断。分数突然变化时结合之前的轨迹对用户“完成购车”行为作出判断并对推荐的新闻内容进行调整。

----完整版----

用户痛点:APP对突然结束的长期关注行为的判断不准确。本文档以购车为例。大致思路:以用户的两个典型行为对购车行为的结束与否进行判断

  • 用户轨迹与“大量不同车型评测资讯查看—大量单一车型评测查看—价格资讯查看”重叠(选好车型即将买车,对汽车导购方面新闻需求开始下降)
  • 对汽车类新闻关注度的突然下降(购车行为结束,对汽车导购方面新闻的需求降至低点)

实现方式(本段也可以直接跳过):

  • 根据用户在细分类别下的浏览与操作行为赋予不同的分值,并与距离目前的时间间隔进行加权计算,根据结果分数的高低对用户当前兴趣点进行判断。通过兴趣点的转移对用户行为轨迹进行判断,预判用户可能的下一步操作。(用以实现思路行为1的判断)
  • 对用户兴趣点的波动均值进行计算,当某一兴趣点预判有结果分数下降行为且结果分数产生较大负向波动时判断用户对长期关注行为的突然结束(用以实现思路行为2的判断)(本条没有数据支撑,假设大部分用户正常的兴趣点增加或转移都是平稳的)

具体实现:举例:

用户主动判断用户被动判断
行为加权分值行为加权分值
新闻“x”按钮点击次数*-20该频道/主题新闻浏览数量单位数量*10
在我的频道中取消该频道-20该频道/主题浏览时间单位时间*10
将该频道排序靠后-20该频道/主题评论浏览时间单位时间*5
删除该频道/主题的收藏-20用户行为轨迹评分0.8

国内用户一般没有主动dislike的习惯,故发生时必然是较强的内容干预行为,所以分值最高;对频道的浏览行为可以最直接判断用户兴趣点的转移与否,故分值也较高;对具体新闻的浏览行为由于数量巨大,数据变化也会比较缓慢,故单位分值较低

  • 当用户持续对汽车新闻进行浏览,该频道与行为发生距离现在时间的加权分数会持续升高,根据新闻内容的转移可以对用户轨迹进行判断。若用户已经完成思路1中的浏览轨迹则降低相关新闻的权重并做好用户完成购车行为,需求突然大幅降低的准备

  • 当发现汽车新闻的评分发生下降时,根据之前的行为轨迹与评分下降幅度进行完成购车行为的判断,并开始大量减少汽车导购比价等相关新闻的推送

注1:可以将新闻的类别根据频道与内容继续细分,将更容易通过结果分数的波动对用户行为产生判断。也对后续继续推荐汽车保养/维护等方面新闻有所帮助。

注2:的新用户自行选择属性的方式由于具有不可更改/不易更改性,必然会对后续用户兴趣判断,特别是某一时期/时间兴趣的判断产生影响,所以不采用这种方式

注3:购车前的轨迹判断来自艾瑞发布的2014年中国网民购车行为研究报告。文中提到的其他用户行为与兴趣由于没有具体数据支撑,都是拍脑袋决定的。

Toutiao is still pushing me all kinds of car news even after I’ve bought the car..

Gave the solution some thought

----Summary----

Score the user’s browsing and interaction behaviors across different topics/channels, weight the scores by “time elapsed until now,” and use the resulting scores to judge the user’s behavioral trajectory and points of interest. When a score changes abruptly, combine it with the prior trajectory to judge whether the user has “completed the car purchase” and adjust the recommended news accordingly.

----Full Version----

User pain point: the app does a poor job of recognizing when a long-running interest ends abruptly. This document takes car buying as its example. Rough idea: use two typical user behaviors to judge whether the car-buying process has ended

  • The user’s trajectory overlaps with “heavy browsing of reviews across many car models—heavy browsing of reviews of a single model—checking price information” (the model is chosen and the purchase is near, so demand for car-shopping news starts to decline)
  • A sudden drop in attention to car-related news (the purchase is complete, and demand for car-shopping news falls to its lowest point)

Implementation approach (feel free to skip this section):

  • Assign different point values to the user’s browsing and interaction behaviors within each subcategory, weight them by how long ago they happened, and judge the user’s current interests by the resulting scores. Use shifts in interest to judge the user’s behavioral trajectory and anticipate their likely next step. (This implements the judgment for behavior 1 above.)
  • Compute the average fluctuation of the user’s interest scores; when an interest is predicted to decline and its resulting score swings sharply negative, conclude that a long-running interest has come to an abrupt end (this implements the judgment for behavior 2 above) (no data behind this one; the assumption is that for most users, interests normally grow or shift smoothly)

Concrete implementation: an example:

Judging from active user actionsJudging from passive user behavior
BehaviorWeighted scoreBehaviorWeighted score
Clicking the “x” button on a news itemCount * -20Number of news items browsed in the channel/topicUnit count * 10
Removing the channel from My Channels-20Time spent browsing the channel/topicUnit time * 10
Moving the channel toward the back of the list-20Time spent reading comments in the channel/topicUnit time * 5
Deleting saved items from the channel/topic-20User trajectory score0.8

Chinese users generally have no habit of actively disliking content, so when it does happen it is necessarily a strong act of content intervention, which is why it scores highest; channel-level browsing is the most direct signal of whether a user’s interest has shifted, so it also scores high; browsing of individual news items comes in such huge volume that the data changes slowly, hence the low per-unit score

  • While the user keeps browsing car news, the channel’s score, weighted by how recently each behavior occurred, keeps climbing, and shifts in the content they read allow the user’s trajectory to be judged. If the user has already completed the browsing trajectory in idea 1, lower the weight of related news and be ready for the user to complete the purchase and for demand to plunge

  • When the score for car news is seen to drop, judge whether the purchase has been completed based on the prior trajectory and the size of the drop, and start cutting way back on pushes of car-shopping, price-comparison, and similar news

Note 1: news categories can be further subdivided by channel and content, which would make it easier to judge user behavior from fluctuations in the resulting scores. It would also help with later recommendations of news on car care/maintenance and the like.

Note 2: the approach of having new users select their own attributes, since it cannot (or cannot easily) be changed, is bound to affect later judgments of user interest, especially interest within a given period or moment, so this approach is not used

Note 3: the pre-purchase trajectory is drawn from iResearch’s 2014 research report on the car-buying behavior of Chinese internet users. The other user behaviors and interests mentioned in this piece have no concrete data behind them; they were all decided off the top of my head.

Comments