chore: initial commit
This commit is contained in:
115
scripts/analyze_customers_v2.py
Normal file
115
scripts/analyze_customers_v2.py
Normal file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
重新分析客户 - 区分终端用户和代理商
|
||||
"""
|
||||
|
||||
import json
|
||||
|
||||
# 读取数据
|
||||
with open('funstat_query_results.json', 'r', encoding='utf-8') as f:
|
||||
results = json.load(f)
|
||||
|
||||
# 提取所有用户
|
||||
all_users = []
|
||||
for result in results:
|
||||
for item in result['parsed_data']:
|
||||
if item['usernames']:
|
||||
for username in item['usernames']:
|
||||
# 提取显示名称
|
||||
raw = item['raw_text']
|
||||
if '[' in raw and ']' in raw:
|
||||
display_name = raw.split('[')[1].split(']')[0]
|
||||
else:
|
||||
display_name = 'Unknown'
|
||||
|
||||
all_users.append({
|
||||
'username': username,
|
||||
'display_name': display_name,
|
||||
'keyword': result['keyword'],
|
||||
'keyword_type': result['type'],
|
||||
'group_link': item['group_links'][-1] if len(item['group_links']) > 1 else '',
|
||||
'raw_text': raw
|
||||
})
|
||||
|
||||
print("="*100)
|
||||
print("📊 007翻译客户详细清单 - 重新分类")
|
||||
print("="*100)
|
||||
print()
|
||||
|
||||
# 分类标准
|
||||
agents = [] # 代理商/同行
|
||||
b2b_users = [] # B端客户
|
||||
b2c_users = [] # C端/个人用户
|
||||
|
||||
for user in all_users:
|
||||
name_lower = user['display_name'].lower()
|
||||
username_lower = user['username'].lower()
|
||||
|
||||
# 代理商特征
|
||||
if any(kw in name_lower or kw in username_lower for kw in ['客服', 'kefu', '翻译', 'fanyi', '招商', '官方']):
|
||||
agents.append(user)
|
||||
# B端特征
|
||||
elif any(kw in name_lower for kw in ['公司', '团队', '合伙', 'hr', '运营', '经理', '负责人']):
|
||||
b2b_users.append(user)
|
||||
# 其他归为C端
|
||||
else:
|
||||
b2c_users.append(user)
|
||||
|
||||
print(f"📈 客户分类统计:")
|
||||
print(f" 💼 代理商/同行: {len(agents)} 个")
|
||||
print(f" 🏢 B端客户: {len(b2b_users)} 个")
|
||||
print(f" 👤 C端/个人: {len(b2c_users)} 个")
|
||||
print(f" ━━━━━━━━━━━━━━━━")
|
||||
print(f" 📊 总计: {len(all_users)} 个")
|
||||
print()
|
||||
|
||||
# 详细展示每个分类
|
||||
print("="*100)
|
||||
print("💼 代理商/同行客户(适合谈代理合作)")
|
||||
print("="*100)
|
||||
print()
|
||||
for i, user in enumerate(agents, 1):
|
||||
print(f"{i}. @{user['username']}")
|
||||
print(f" 姓名: {user['display_name']}")
|
||||
print(f" 痛点: {user['keyword']}")
|
||||
print(f" 群组: t.me/{user['group_link']}")
|
||||
print(f" 💡 建议: 洽谈代理合作 / 渠道分销")
|
||||
print()
|
||||
|
||||
print("="*100)
|
||||
print("🏢 B端客户(企业/团队用户)")
|
||||
print("="*100)
|
||||
print()
|
||||
for i, user in enumerate(b2b_users, 1):
|
||||
print(f"{i}. @{user['username']}")
|
||||
print(f" 姓名: {user['display_name']}")
|
||||
print(f" 痛点: {user['keyword']}")
|
||||
print(f" 群组: t.me/{user['group_link']}")
|
||||
print(f" 💡 建议: 企业版方案 / 批量采购")
|
||||
print()
|
||||
|
||||
print("="*100)
|
||||
print("👤 C端/个人客户(个人用户)")
|
||||
print("="*100)
|
||||
print()
|
||||
for i, user in enumerate(b2c_users, 1):
|
||||
print(f"{i}. @{user['username']}")
|
||||
print(f" 姓名: {user['display_name']}")
|
||||
print(f" 痛点: {user['keyword']}")
|
||||
print(f" 群组: t.me/{user['group_link']}")
|
||||
print(f" 💡 建议: 个人版推广 / 免费试用")
|
||||
print()
|
||||
|
||||
# 保存分类结果
|
||||
output = {
|
||||
'代理商': [{'username': u['username'], 'name': u['display_name'], 'keyword': u['keyword'], 'group': u['group_link']} for u in agents],
|
||||
'B端客户': [{'username': u['username'], 'name': u['display_name'], 'keyword': u['keyword'], 'group': u['group_link']} for u in b2b_users],
|
||||
'C端客户': [{'username': u['username'], 'name': u['display_name'], 'keyword': u['keyword'], 'group': u['group_link']} for u in b2c_users],
|
||||
}
|
||||
|
||||
with open('客户分类清单.json', 'w', encoding='utf-8') as f:
|
||||
json.dump(output, f, ensure_ascii=False, indent=2)
|
||||
|
||||
print("="*100)
|
||||
print("✅ 分类完成!已保存到: 客户分类清单.json")
|
||||
print("="*100)
|
||||
Reference in New Issue
Block a user