用户画像系列——布隆过滤器在策略引擎中的应用

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 用户画像系列——布隆过滤器在策略引擎中的应用

用户画像系列——当我们聊用户画像,我们在聊什么?

介绍了用户画像的应用场景:

(1)个性化推荐

通过用户标签给用户推荐合适的商品或者内容

(2)营销圈选

参考:用户画像系列——Lookalike在营销圈选扩量中的应用

(3)策略引擎

根据用户标签命中不同的策略,比如说:高消费人员有奢侈品入口通道

(4)算法模型

(5)画像报告

背景:

这篇文章分享的是用户画像在策略引擎中的应用。首先来了解下策略引擎是干什么的?

比如:当某个用户第一次进入某个平台,会给你弹窗有什么优惠,新用户优惠券等等;或者某个用户消费金额极高,达到一个阈值,认为该用户有极大的消费能力,可以开放奢侈品入口,即:淘宝上的奢侈品频道是根据之前有消费过奢侈品、且高价值的用户才开放的。

上述是一个简单的策略引擎,通过进行判断当前进入的用户是否满足某个或者多个条件然后进行相应的营销策略

问题和思路:

当引擎策略(或者称之为规则)过于复杂,同时还会经常对规则进行变更,那么是否有一个更加简单的方法来处理呢?即是这篇文章要要分享的通过人群圈选功能,圈出目标用户,定义为人群包,然后当前用户进行平台判断该用户是否在这个人群包里面,因为是线上服务,要求进行用户去查询人群包匹配是否存在的过程需要在毫秒内返回结果

通过上述方案,只需要修改圈选条件,就能够非常简单的解决,策略条件过于复杂以及经常调整的问题。

线上实际应用以及遇到的问题:

因为要求线上用户访问去人群包进行匹配的过程,需要在毫秒级进行返回,因此需要对于人群包数据进行存储,考虑采用redis 进行存储。

redis数据结构如下:

key:人群包id key_1,value:圈选出来的用户列表[userId_1,userId_2,userId_3等等]

SADD key_1 userId_1 userId_2 userId_3 //添加用户id到人群包key_1中
SISMEMBER key_id userId_3 //判断userId_3在不在人群包key_1中

但是随着人群包越来越多,需要的存储也越来越多,通常一个人群包里面的用户少则几万多则上千万甚至亿级。

优化方案:

通过使用redis 的布隆过滤器

bf.madd key_1 userId_1 userId_2 userId_3 //添加用户到人群包中
bf.exists key_1 userId_3 //判断用户是否在人群包中

由于布隆过滤器存储空间小,并且节省空间,不存储数据本身,仅存储hash结果取模运算后的位标记,整理存储优化极大相对于散列表

布隆过滤器详细原理参考:

Redis-布隆过滤器(Bloom Filter)详解

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
打赏
0
0
0
0
8
分享
相关文章
用户画像系列—如何从0到1建设用户画像
用户画像系列—如何从0到1建设用户画像
291 0
如何解决 MySQL 数据库服务器 CPU 飙升的情况
大家好,我是 V 哥。当 MySQL 数据库服务器 CPU 飙升时,如何快速定位和解决问题至关重要。本文整理了一套实用的排查和优化套路,包括使用系统监控工具、分析慢查询日志、优化 SQL 查询、调整 MySQL 配置参数、优化数据库架构及检查硬件资源等步骤。通过一个电商业务系统的案例,详细展示了从问题发现到解决的全过程,帮助你有效降低 CPU 使用率,提升系统性能。关注 V 哥,掌握更多技术干货。
674 0
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
791 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
大数据用户画像之基本概念
大数据用户画像利用大数据技术分析用户基本信息、消费行为、兴趣、社交及地理数据,创建详细用户模型,助力企业精准营销。涉及技术包括数据挖掘、大数据处理(Hadoop、Spark)、数据可视化、机器学习和数据库管理。通过用户画像,企业可实现市场定位、个性化推荐、精准广告、产品优化和风险控制。学习该领域需掌握多个技术栈,包括相关算法、工具及业务理解。
1610 4
AI在各行业的具体应用与未来展望
人工智能(Artificial Intelligence, AI)作为一项颠覆性技术,正在逐步改变我们的生活和工作方式。从语音助手到自动驾驶汽车,AI的应用已经深入到各个领域。本文将详细探讨AI在不同行业中的具体应用,以及未来可能的发展方向。
2415 6
Flink ML的新特性解析与应用
本文整理自阿里巴巴算法专家赵伟波,在 Flink Forward Asia 2023 AI特征工程专场的分享。
129988 5
Flink ML的新特性解析与应用
Redis分区指南:如何实现高可用与扩展性
本文由技术小伙伴小米讲解Redis分区容错中的数据分区。内容涉及Hash、一致性Hash、Codis的Hash槽和RedisCluster四种方法。Hash简单但不稳定,数据迁移和分区不均衡是其主要问题;一致性Hash通过最小化数据迁移实现负载均衡,但仍有局限;Codis的Hash槽提供灵活的负载均衡和在线迁移;RedisCluster是官方高可用、可扩展的解决方案。每种方案有优缺点,需根据实际需求选择。
709 0
Redis分区指南:如何实现高可用与扩展性
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问