"use client" import { useState } from "react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Progress } from "@/components/ui/progress" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" import { Input } from "@/components/ui/input" import { ArrowUpRight, Download, Filter, RefreshCw, Target, TrendingUp, Users, Layers, Tag, BarChart3, Search, HelpCircle, ChevronRight, ChevronDown, } from "lucide-react" import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible" import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription } from "@/components/ui/dialog" // 使用通用公司名称和当天时间线的用户数据 const mockUsers = [ { id: "1", name: "张明华", company: "科技创新有限公司", recency: 1, frequency: 28, monetary: 45600, rfmScore: 95, level: "高价值", growth: "+8.5%", upgradeFromDays: 45, nextUpgrade: "VIP客户", upgradeProbability: 85, lastActive: "今天 14:30", }, { id: "2", name: "李雨婷", company: "数字营销公司", recency: 3, frequency: 22, monetary: 32800, rfmScore: 88, level: "高价值", growth: "+6.2%", upgradeFromDays: 28, nextUpgrade: "白金会员", upgradeProbability: 78, lastActive: "今天 13:45", }, { id: "3", name: "王建国", company: "软件开发工作室", recency: 2, frequency: 25, monetary: 38900, rfmScore: 91, level: "高价值", growth: "+7.8%", upgradeFromDays: 38, nextUpgrade: "企业VIP", upgradeProbability: 82, lastActive: "今天 12:20", }, { id: "4", name: "刘思琪", company: "数据分析咨询", recency: 7, frequency: 18, monetary: 25400, rfmScore: 76, level: "中高价值", growth: "+4.1%", upgradeFromDays: 12, nextUpgrade: "高价值用户", upgradeProbability: 68, lastActive: "今天 11:15", }, { id: "5", name: "陈浩然", company: "云计算服务商", recency: 4, frequency: 20, monetary: 28700, rfmScore: 82, level: "中高价值", growth: "+5.3%", upgradeFromDays: 22, nextUpgrade: "高价值用户", upgradeProbability: 72, lastActive: "今天 10:30", }, { id: "6", name: "周欣妍", company: "用户体验设计", recency: 12, frequency: 15, monetary: 18600, rfmScore: 65, level: "中等价值", growth: "+3.2%", upgradeFromDays: 8, nextUpgrade: "中高价值用户", upgradeProbability: 55, lastActive: "今天 09:45", }, { id: "7", name: "马志强", company: "企业解决方案", recency: 6, frequency: 16, monetary: 22100, rfmScore: 71, level: "中等价值", growth: "+4.8%", upgradeFromDays: 15, nextUpgrade: "中高价值用户", upgradeProbability: 61, lastActive: "今天 08:20", }, { id: "8", name: "赵丽娟", company: "品牌营销策划", recency: 15, frequency: 12, monetary: 15800, rfmScore: 58, level: "中等价值", growth: "+2.1%", upgradeFromDays: 5, nextUpgrade: "中高价值用户", upgradeProbability: 45, lastActive: "今天 07:30", }, ] export default function UserValuePage() { const [timeRange, setTimeRange] = useState("30days") const [searchQuery, setSearchQuery] = useState("") const [showModelDialog, setShowModelDialog] = useState(false) const [showUpgradeDialog, setShowUpgradeDialog] = useState(false) const [expandedSections, setExpandedSections] = useState({ overview: true, model: false, analysis: true, upgradePaths: false, }) const filteredUsers = mockUsers.filter( (user) => user.name.toLowerCase().includes(searchQuery.toLowerCase()) || user.company.toLowerCase().includes(searchQuery.toLowerCase()), ) const getRFMLevelColor = (level: string) => { switch (level) { case "高价值": return "bg-green-100 text-green-800" case "中高价值": return "bg-blue-100 text-blue-800" case "中等价值": return "bg-yellow-100 text-yellow-800" case "低价值": return "bg-gray-100 text-gray-800" case "流失风险": return "bg-red-100 text-red-800" default: return "bg-gray-100 text-gray-800" } } const toggleSection = (section: string) => { setExpandedSections((prev) => ({ ...prev, [section]: !prev[section], })) } return (
{/* 页面标题和工具栏 */}

价值评估

用户价值分析与升级路径

{/* 用户估值概览 */} setExpandedSections((prev) => ({ ...prev, overview: open }))} >
价值概览 用户价值评估整体情况
{expandedSections.overview ? ( ) : ( )}
平均估值
¥3,248
+8.2%
目标 94%
高价值用户
45,678
+12.3%
占比 28.6%
价值增长率
15.8%
+2.1%
行业平均 11.2%
升级率
12.5%
+1.8%
目标 15%
{/* RFM估值模型 */} setExpandedSections((prev) => ({ ...prev, model: open }))} >
RFM估值模型 基于用户行为的价值评估
{expandedSections.model ? ( ) : ( )}

R 最近消费时间

时间间隔越短价值越高

1-3天 5分
4-7天 4分
8-14天 3分
15-30天 2分
30天以上 1分

F 消费频率

频率越高价值越高

25次以上/月 5分
20-24次/月 4分
15-19次/月 3分
10-14次/月 2分
1-9次/月 1分

M 消费金额

金额越高价值越高

30000元以上 5分
20000-29999元 4分
10000-19999元 3分
5000-9999元 2分
5000元以下 1分

RFM评分等级

高价值用户

85-100分

中高价值用户

70-84分

中等价值用户

55-69分

低价值用户

40-54分

流失风险用户

0-39分

{/* 用户价值分析 */} setExpandedSections((prev) => ({ ...prev, analysis: open }))} >
价值分析 用户价值详细数据 ({filteredUsers.length})
{expandedSections.analysis ? ( ) : ( )}
setSearchQuery(e.target.value)} />
{/* 移动端卡片布局 */}
{filteredUsers.map((user) => (

{user.name}

{user.company}

{user.rfmScore}

R值

{user.recency}天

F值

{user.frequency}次

M值

¥{(user.monetary / 1000).toFixed(0)}K

{user.lastActive} {user.growth}
))}
{/* 桌面端表格布局 */}
用户 公司 RFM评分 R值 F值 M值 增长率 {filteredUsers.map((user) => ( {user.name} {user.company} {user.rfmScore} ({user.level}) {user.recency}天 {user.frequency}次/月 ¥{user.monetary.toLocaleString()} {user.growth} ))}
{/* 用户升级路径分析 */} setExpandedSections((prev) => ({ ...prev, upgradePaths: open }))} >
升级路径分析 用户价值提升路径与策略
{expandedSections.upgradePaths ? ( ) : ( )}
升级潜力
高潜力用户 2,345
中潜力用户 5,678
低潜力用户 1,234
升级成功率
本月升级率 12.5%
平均升级周期 28天
预期升级用户 1,856
价值贡献
升级价值增长 ¥2.3M
平均价值提升 ¥1,245
ROI提升 35.8%

个人升级路径推荐

{filteredUsers.slice(0, 5).map((user) => (

{user.name}

{user.company}

{user.level}

下一级别: {user.nextUpgrade}

升级概率: {user.upgradeProbability}%

))}
{/* RFM模型说明对话框 */} RFM模型说明 RFM模型是一种用于客户价值评估的经典方法

什么是RFM模型?

RFM模型是一种用于分析客户价值和客户创利能力的重要工具,通过分析客户的Recency(最近一次购买时间)、Frequency(购买频率)和Monetary(购买金额)三个维度来评估客户价值。

如何使用RFM评分?

每个维度按1-5分评分,总分15分。我们将总分转换为0-100的百分制,便于理解和比较。高分用户是我们的核心客户,需要重点维护和深度挖掘。

{/* 升级路径说明对话框 */} 用户升级路径分析 基于用户行为数据预测用户价值提升路径

升级路径是什么?

升级路径是基于用户当前的RFM评分、行为模式和历史数据,预测用户可能的价值提升方向和概率。帮助制定个性化的用户运营策略。

如何制定升级策略?

系统会根据用户的弱势维度(R、F、M中得分较低的)推荐相应的运营策略,如优惠券刺激消费频率、个性化推荐提升客单价等。

) }