Git Product home page Git Product logo

flink-userbehavioranalysis's Introduction

基于flink的用户行为分析

  • 统计分析
    • 点击、浏览
    • (近期)热门商品、分类热门商品、流量统计
  • 偏好统计
    • 收藏、喜欢、评分、打标签
    • 用户画像,推荐
  • 风险控制
    • 下订单、支付、登录
    • 刷单监控、订单失效监控、恶意登录监控

实时统计分析

  • 实时热门商品统计
  • 实时热门页面流量统计
  • 实时访问流量统计
  • APP市场推广统计
  • 页面广告点击量统计

业务流程及风险控制

  • 页面广告黑名单过滤
  • 恶意登录监控
  • 订单支付失效监控

image-20191115100930372

实时统计—热门商品统计

  • 基本需求
    • 统计近1小时内的热门商品,每5分钟更新一次
    • 热门度用浏览器次数(“pv”)来衡量
  • 解决思路
    • 在所有用户行为数据中,过滤出浏览(“pv”)行为进行统计
    • 构建滑动窗口,窗口长度为1小时,滑动距离为5分钟
    • 用 event time

实时统计—流量统计

  • 基本需求
    • 从web服务器的日志中,统计实时的热门访问页面
    • 统计每分钟的ip访问量,取出访问量最大的5个地址,没5秒更新一次
  • 解决思路
    • 将apache服务器日志中的时间,转换为时间戳,作为Event Time
    • 构建滑动窗口,窗口长度为1分钟,滑动距离为5秒

实时统计—PV和UV

  • 基本需求
    • 从埋点日志中,统计实时的PV和UV
    • 统计每小时的访问量(PV),并且对用户进行去重(UV)
  • 解决思路
    • 统计埋点日志中的PV行为,利用Set数据结构进行去重
    • 对于超大规模的数据,可以考虑用布隆过滤器进行去重

市场营销分析—APP市场推广统计

  • 基本需求
    • 从埋点日志中,统计APP市场推广的数据指标
    • 按照不同的推广渠道,分别统计数据
  • 解决思路
    • 通过过滤日志中的用户行为,按照不同的渠道进行统计
    • 可以用process function处理,得到自定义的输出数据信息

市场营销分析—页面广告统计

  • 基本需求
    • 从埋点日志中,统计每小时页面广告的点击量,5秒刷新一次,并按照不同省份进行划分
    • 对于“刷单”式的频繁点击行为进行过滤,并将该用户加入黑名单
  • 解决思路
    • 根据省份进行分组,创建长度为1小时、滑动距离为5秒的时间窗口进行统计
    • 可以用process function进行黑名单过滤,检测用户对同一广告的点击量,如果超过上限则将用户信息以侧输出流输出到黑名单中

恶意登录监控

  • 基本需求
    • 用户在短时间内频繁登录失败,有程序恶意攻击的可能
    • 同一用户(可以是不同IP)在2秒内连续两次登录失败,需要报警
  • 解决思路
    • 将用户的登录失败行为存入ListState,设定定时器2秒后出发,查看ListState中有几次失败登录
    • 更加精确的检测,可以使用CEP库实现事件流的模式匹配

订单支付实时监控

  • 基本需求
    • 用户下单之后,应设置订单失效时间,以提高用户支付的意愿,并降低系统风险
    • 用户下单后15分钟未支付,则输出监控信息
  • 解决思路
    • 利用CEP库进行事件流的模式匹配,并设定匹配的时间间隔
    • 也可以利用状态编程,用process function实现处理逻辑

订单支付实时对账

  • 基本需求
    • 用户下单并支付后,应查询到账信息,进行实时对账
    • 如果有不匹配的支付信息或者到账信息,输出提示信息
  • 解决思路
    • 从两条流中分别读取订单支付信息和到账信息,合并处理
    • 用connect连接合并两条流,用coProcessFunction做匹配处理

电商常见指标

TODO(word文档中)

flink-userbehavioranalysis's People

Contributors

zainzhao avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.