51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

设计一个用于分析用户复购率与客单价的关联的数据库表结构,需包含用户行为数据(如购买时间、购买SKU、购买金额)、复购标识(是否复购)、客单价(最近N次购买平均金额)等字段,请说明表结构设计及关联逻辑。

卫龙财务类难度:中等

答案

1) 【一句话结论】设计包含用户行为流水表(记录每次购买行为)和复购标识/客单价计算表(通过聚合计算复购标识及最近N次客单价),通过用户ID关联,实现复购率与客单价的关联分析。

2) 【原理/概念讲解】首先,用户行为表用于记录每一次购买的具体信息(如用户ID、购买时间、商品SKU、金额),相当于“购买流水账”。复购标识是基于用户历史购买次数判断(如购买次数≥2则标记为复购),客单价则是用户最近N次(如30天)购买金额的平均值。类比:用户行为表是超市收银记录,复购标识是“是否再次光顾”,客单价是“最近几次买的东西平均花了多少钱”。

3) 【对比与适用场景】

设计方案定义特性使用场景注意点
单表设计在用户行为表中直接添加复购标识、客单价字段字段多,查询复杂,计算性能差数据量小,分析简单复杂查询效率低,不适合大规模数据
多表设计(用户行为表 + 复购标识表 + 客单价表)分表存储行为、标识、计算结果通过关联查询,计算逻辑分离,查询高效大规模用户行为分析,需频繁关联需维护表间关联,数据更新需同步

4) 【示例】

  • 用户行为表(purchase_log):

    • user_id (INT, 主键)
    • purchase_time (DATETIME, 购买时间)
    • sku (VARCHAR, 购买商品SKU)
    • amount (DECIMAL, 购买金额)
  • 复购标识表(user_repurchase):

    • user_id (INT, 主键,外键关联purchase_log.user_id)
    • is_repurchase (INT, 1=复购,0=非复购,计算逻辑:购买次数≥2则标记为1)
  • 客单价表(user_avg_amount):

    • user_id (INT, 主键,外键关联purchase_log.user_id)
    • avg_amount (DECIMAL, 最近30天购买金额的平均值,计算逻辑:SELECT AVG(amount) FROM purchase_log WHERE user_id = ? AND purchase_time >= DATE_SUB(CURDATE(), INTERVAL 30 DAY))

关联逻辑:通过user_id将用户行为表与复购标识表、客单价表关联,实现复购率(复购用户数/总用户数)与客单价(复购用户平均客单价)的关联分析。

5) 【面试口播版答案】
面试官您好,针对分析用户复购率与客单价的关联,我设计如下数据库表结构:首先,创建用户行为流水表(purchase_log),包含用户ID、购买时间、购买SKU、购买金额等字段,记录每一次购买行为。然后,通过聚合计算复购标识(如购买次数≥2则标记为复购)和最近30天的客单价(平均金额),分别存储在复购标识表(user_repurchase)和客单价表(user_avg_amount)中。表间通过用户ID关联,这样既能高效查询复购用户比例,又能快速计算复购用户的平均客单价,从而分析两者关联。具体来说,用户行为表用于存储原始数据,复购标识表判断是否复购,客单价表计算最近N次的平均金额,通过用户ID关联,实现复购率与客单价的关联分析。

6) 【追问清单】

  • 问:如何定义“最近N次”的时间窗口?比如是30天还是90天?
    答:通常根据业务周期,如30天或90天,需结合用户活跃周期调整。
  • 问:如果用户购买SKU变化,客单价计算是否考虑价格波动?
    答:客单价计算基于金额均值,不区分SKU,直接计算金额的平均值。
  • 问:数据更新频率如何?实时还是批量?
    答:可设计为批量更新(如每天凌晨计算前一天数据),或实时更新(通过触发器),需根据业务需求选择。
  • 问:复购标识是否考虑购买时间间隔?比如间隔1个月算复购吗?
    答:通常只要购买次数≥2即算复购,时间间隔不影响(除非业务定义特定周期)。
  • 问:新用户如何处理?复购率如何计算?
    答:新用户无购买记录,不参与复购率计算,复购率仅统计有至少2次购买的用户。

7) 【常见坑/雷区】

  • 客单价计算错误:误用总金额除以总购买次数(而非最近N次),导致结果偏差。
  • 复购标识判断错误:仅根据购买次数(≥2)判断,未考虑时间窗口,导致时间间隔过长的购买算复购。
  • 表结构设计不合理:单表存储所有字段,导致查询复杂且性能差。
  • 关联逻辑错误:用户行为表与复购标识表关联时,外键或条件错误。
  • 数据更新不及时:客单价或复购标识未及时更新,导致分析结果滞后。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1