From 59a53a04bc632525b19bea65344d6b6b0a16cdb3 Mon Sep 17 00:00:00 2001 From: Tiger Ren Date: Thu, 29 Aug 2024 02:26:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=87=8D=E6=9E=84=E5=90=84?= =?UTF-8?q?=E7=B1=BB=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 合并acv分析数据;2.将llm分析相关的代码增加llm前缀 --- analyze_acv.py | 21 +- analyze_acv_dist.py | 22 +- combine_acv_data.py | 44 ++++ criteria_reflection.py | 243 ------------------ cursor | 44 ++++ ...模板(V3.0)-赢单路径- Manual.xlsx | Bin 41451 -> 14325 bytes ...架模板(V3.0)-赢单路径-AI.xlsx | Bin 45449 -> 14903 bytes data_output/关键销售动作.txt | 29 +++ data_output/关键销售动作byStage.txt | 65 +++++ data_output/行动结果分类.txt | 10 + data_output/行动结果分类byStage.txt | 44 ++++ llm_action_result_analysis.py | 137 ++++++++++ llm_analyze_acv_dist.py | 38 +++ llm_combine_acv_data_analysis.py | 164 ++++++++++++ llm_criteria_reflection.py | 126 +++++++++ output/acv_analysis_combined.xlsx | Bin 0 -> 13261 bytes output/acv_analysis_v2(with count).xlsx | Bin 0 -> 17589 bytes output/pipeline_sub_industry_dist_sum.xlsx | Bin 0 -> 6372 bytes random_pick_crm_mandatory.py | 24 ++ reflection_path_results_v2.xlsx | Bin 0 -> 25571 bytes 20 files changed, 760 insertions(+), 251 deletions(-) create mode 100644 combine_acv_data.py delete mode 100644 criteria_reflection.py create mode 100644 cursor create mode 100644 data_output/关键销售动作.txt create mode 100644 data_output/关键销售动作byStage.txt create mode 100644 data_output/行动结果分类.txt create mode 100644 data_output/行动结果分类byStage.txt create mode 100644 llm_action_result_analysis.py create mode 100644 llm_analyze_acv_dist.py create mode 100644 llm_combine_acv_data_analysis.py create mode 100644 llm_criteria_reflection.py create mode 100644 output/acv_analysis_combined.xlsx create mode 100644 output/acv_analysis_v2(with count).xlsx create mode 100644 output/pipeline_sub_industry_dist_sum.xlsx create mode 100644 random_pick_crm_mandatory.py create mode 100644 reflection_path_results_v2.xlsx diff --git a/analyze_acv.py b/analyze_acv.py index 75c21e6..dd2bb33 100644 --- a/analyze_acv.py +++ b/analyze_acv.py @@ -13,7 +13,8 @@ def strip_character(column_name, characters: List[str]): def refine_content(df): strip_character_list = [' ', '\n', ':', ':','其他'] for col in df.columns: - df[col] = df[col].apply(lambda x: "其他" if strip_character(x, strip_character_list) == "" else strip_character(x, strip_character_list)) + df[col] = df[col].apply(lambda x: "其他" if isinstance(x, str) and strip_character(x, strip_character_list) == "" + else (strip_character(x, strip_character_list) if isinstance(x, str) else x)) return df def calc_acv_mean(df, acv_name, group_by_column): @@ -28,6 +29,12 @@ def calc_acv_sum(df, acv_name, group_by_column): df_grouped_sum[acv_name] = df_grouped_sum[acv_name].apply(lambda x: '{:,}'.format(x)) return df_grouped_sum +def calc_acv_sum_and_count(df, acv_name, group_by_column): + df_grouped_sum = df.groupby(group_by_column)[acv_name].sum().astype(int).reset_index() + df_grouped_count = df.groupby(group_by_column)[acv_name].count().reset_index() + df_grouped_sum_count = pd.merge(df_grouped_sum, df_grouped_count, on=group_by_column, how='outer') + return df_grouped_sum_count + def save_to_excel(dataframes, sheet_names, output_file): with pd.ExcelWriter(output_file, engine='openpyxl') as writer: for df, sheet_name in zip(dataframes, sheet_names): @@ -42,7 +49,7 @@ dataframes = [] sheet_names = [] # ACV by 客户分类 -df_win_grouped_by_industry_sum = calc_acv_sum(df_win, acv_name, '客户分类') +df_win_grouped_by_industry_sum = calc_acv_sum_and_count(df_win, acv_name, '客户分类') dataframes.append(refine_content(df_win_grouped_by_industry_sum)) sheet_names.append("ACV by 行业") @@ -51,7 +58,7 @@ df_win_grouped_by_industry_mean = calc_acv_mean(df_win, acv_name, '客户分类' dataframes.append(refine_content(df_win_grouped_by_industry_mean)) sheet_names.append("平均ACV by 行业") -df_win_grouped_by_sub_industry_sum = calc_acv_sum(df_win, acv_name, '客户行业') +df_win_grouped_by_sub_industry_sum = calc_acv_sum_and_count(df_win, acv_name, '客户行业') dataframes.append(refine_content(df_win_grouped_by_sub_industry_sum)) sheet_names.append("ACV by 子行业") @@ -59,13 +66,13 @@ df_win_grouped_by_sub_industry_mean = calc_acv_mean(df_win, acv_name, '客户行 dataframes.append(refine_content(df_win_grouped_by_sub_industry_mean)) sheet_names.append("平均ACV by 子行业") -# 读取Excel文件 +# ���取Excel文件 df = pd.read_excel('./data_src/pingcap_pipeline.xlsx') # 按照"客户分类"列分组,并计算ACV列的和 acv_name = '预估 ACV' -df_pipeline_grouped_by_industry_sum = calc_acv_sum(df, acv_name, '负责人所属行业') +df_pipeline_grouped_by_industry_sum = calc_acv_sum_and_count(df, acv_name, '负责人所属行业') dataframes.append(refine_content(df_pipeline_grouped_by_industry_sum)) sheet_names.append("预估ACV by 行业") @@ -73,7 +80,7 @@ df_pipeline_grouped_by_industry_mean = calc_acv_mean(df, acv_name, '负责人所 dataframes.append(refine_content(df_pipeline_grouped_by_industry_mean)) sheet_names.append("平均预估ACV by 行业") -df_pipeline_grouped_by_sub_industry_sum = calc_acv_sum(df, acv_name, '客户行业') +df_pipeline_grouped_by_sub_industry_sum = calc_acv_sum_and_count(df, acv_name, '客户行业') dataframes.append(refine_content(df_pipeline_grouped_by_sub_industry_sum)) sheet_names.append("预估ACV by 子行业") @@ -82,7 +89,7 @@ dataframes.append(refine_content(df_pipeline_grouped_by_sub_industry_mean)) sheet_names.append("平均预估ACV by 子行业") # 保存所有数据帧到一个Excel文件中 -output_file = './output/acv_analysis.xlsx' +output_file = './output/acv_analysis_v2(with count).xlsx' save_to_excel(dataframes, sheet_names, output_file) print(f"Analysis results have been saved to {output_file}") \ No newline at end of file diff --git a/analyze_acv_dist.py b/analyze_acv_dist.py index 1d37ce1..2a934fd 100644 --- a/analyze_acv_dist.py +++ b/analyze_acv_dist.py @@ -26,6 +26,22 @@ def get_acv_distribution(df, acv_name, industry_col_name): industry_acv_distribution.loc['Total'] = industry_acv_distribution.sum() return industry_acv_distribution +def get_acv_distribution_sum(df, acv_name, industry_col_name): + # Define the bins for ACV intervals + bins = [0, 1e6, 5e6, float('inf')] + labels = ['<100万', '100万-500万', '>500万'] + + # Create a new column 'ACV Interval' based on the bins + df['ACV Interval'] = pd.cut(df[acv_name], bins=bins, labels=labels, right=False) + + # Group by industry and ACV interval, then sum the ACV values + industry_acv_sum = df.groupby([industry_col_name, 'ACV Interval'])[acv_name].sum().unstack(fill_value=0) + + # Add a 'Total' row + industry_acv_sum.loc['Total'] = industry_acv_sum.sum() + + return industry_acv_sum + # 新增函数:将结果保存到Excel def save_to_excel(dfs, sheet_names, output_file): with pd.ExcelWriter(output_file, engine='openpyxl') as writer: @@ -42,9 +58,13 @@ won_sub_industry_dist = get_acv_distribution(df, 'ACV', '客户行业') pipeline_industry_dist = get_acv_distribution(df_pipeline, '预估 ACV', '负责人所属行业') pipeline_sub_industry_dist = get_acv_distribution(df_pipeline, '预估 ACV', '客户行业') +pipeline_sub_industry_dist_sum = get_acv_distribution_sum(df_pipeline, '预估 ACV', '客户行业') +pipeline_sub_industry_dist_sum.to_excel('./output/pipeline_sub_industry_dist_sum.xlsx') + + # 保存结果到Excel dfs = [won_industry_dist, won_sub_industry_dist, pipeline_industry_dist, pipeline_sub_industry_dist] sheet_names = ['成单-行业分布', '成单-子行业分布', 'Pipeline-行业分布', 'Pipeline-子行业分布'] -save_to_excel(dfs, sheet_names, './output/acv_distribution.xlsx') +# save_to_excel(dfs, sheet_names, './output/acv_distribution.xlsx') print("ACV distribution analysis completed. Results saved in './output/acv_distribution.xlsx'") \ No newline at end of file diff --git a/combine_acv_data.py b/combine_acv_data.py new file mode 100644 index 0000000..aec3a24 --- /dev/null +++ b/combine_acv_data.py @@ -0,0 +1,44 @@ +import pandas as pd + +# Read data from specific Excel sheets +excel_file = './output/acv_analysis_v2(with count).xlsx' # Replace with the actual path to your Excel file +df_pipeline = pd.read_excel(excel_file, sheet_name='预估ACV by 子行业') # Replace 'Pipeline' with the actual sheet name +df_won = pd.read_excel(excel_file, sheet_name='ACV by 子行业') # Replace 'Won' with the actual sheet name + + + +# Merge the two dataframes on '客户行业' +df_combined = pd.merge(df_pipeline, df_won, on='客户行业', how='outer', suffixes=('_pipeline', '_won')) + +# Rename columns for clarity +df_combined = df_combined.rename(columns={ + 'ACV Sum': 'ACVSUM', + 'ACV Count': 'ACVCNT', + '预估 ACV Sum': '预估ACVSUM', + '预估 ACV Count': '预估ACVCNT', +}) + +# Fill NaN values with 0 for numerical columns +df_combined['ACVSUM'] = df_combined['ACVSUM'].fillna(0) +df_combined['ACVCNT'] = df_combined['ACVCNT'].fillna(0) +df_combined['预估ACVSUM'] = df_combined['预估ACVSUM'].fillna(0) +df_combined['预估ACVCNT'] = df_combined['预估ACVCNT'].fillna(0) + +# Convert numerical columns to integers +df_combined['ACVSUM'] = df_combined['ACVSUM'].astype(int) +df_combined['ACVCNT'] = df_combined['ACVCNT'].astype(int) +df_combined['预估ACVSUM'] = df_combined['预估ACVSUM'].astype(int) +df_combined['预估ACVCNT'] = df_combined['预估ACVCNT'].astype(int) + + +# Reorder columns +df_combined = df_combined[['客户行业', 'ACVSUM', 'ACVCNT', '预估ACVSUM', '预估ACVCNT']] + +# Sort by '预估ACV' in descending order +df_combined = df_combined.sort_values('预估ACVSUM', ascending=False) + +# Reset index +df_combined = df_combined.reset_index(drop=True) + +print(df_combined) +df_combined.to_excel('./output/acv_analysis_combined.xlsx', index=False) diff --git a/criteria_reflection.py b/criteria_reflection.py deleted file mode 100644 index a405785..0000000 --- a/criteria_reflection.py +++ /dev/null @@ -1,243 +0,0 @@ -# This Python file uses the following encoding: utf-8 - -""" -File: criteria_reflection.py -Description: 以专业咨询机构的赢单路径为参考,结合公司实际统计数据进行反思,提出改进版本的赢单路径 - -Author: [Your Name] -Date: [Current Date] -""" -from AgentProxy import AgentProxy -import pandas as pd - -professional_won_path = [ - { - "销售阶段名称": "01-prospecting", - "客户采购行为": "", - "销售阶段任务": "了解客户信息、与客户进行交流,初步了解客户需求,并确定项目对接人,进入客户供应商名单", - "关键获取信息": "1.联系人姓名\n2.部门\n3.职务\n4.手机\n5.预估整体项目节点数\n6.CRM情况\n7.是否是独立预算", - "销售关键动作": "1、了解客户组织架构,了解客户现有系统使用情况、竞品使用情况\n2、判断匹配度\n3、明确关键部门及其关键人\n4、明确客户是否有对应预算", - "售前关键动作": "", - "客户支持行为": "1. 交流中客户较为开放,能告知需求,计划较为清晰;\n2. 愿意进一步需求沟通;\n3. 交流有多人甚至有多部门参与讨论;", - "阶段转化标准": "1.客户有需求\n2.有明确的项目联系人" - }, - { - "销售阶段名称": "02-evaluation", - "客户采购行为": "", - "销售阶段任务": "收集客户信息,了解客户内部预算情况、预期的项目落地时间、产品和数量等,判断商机可靠性;组织技术交流,讲解公司解决方案,传递公司价值", - "关键获取信息": "1、整理需求确认文档,客户确认\n2.在CRM录入组织架构,明确决策链和决策人\n3.预算是否完成申批\n4.是否进PCC\n5.PCC是否已申批:6.PcC状态\n7.测试类型\n8.测试项(用例)", - "销售关键动作": "1、整理需求确认文档,客户确认\n2、在CRM录入组织架构,明确决策链和决策人\n3、了解决策链的每个客户动力;\n4.发展线人\n5、组织技术交流,传递公司及产品价值,引导客户的场景和我们的特性结合\n6、组织技术交流,了解预期的项目落地时间、产品和数量等\n7.和客户确认是否需要测试\n8、对客户提出的测试需求进行评估,确定需求我们优势够,决定是否跟进测试", - "售前关键动作": "", - "客户支持行为": "1.愿意透露决策链信息,预算信息,友商信息,时间信息。\n2. 能介绍高title的人\n3. 客户有对我们产品的测试计划;", - "阶段转化标准": "1.客户有预算\n2.有明确的项目时间\n3.有预期的产品和数量" - }, - { - "销售阶段名称": "03-qualification", - "客户采购行为": "", - "销售阶段任务": "收集、确认项目立项信息,明确产品和数量;\n组织测试必要性并引导客户做poc测试,验证应用场景和技术适用性、平鼎成功入围", - "关键获取信息": "1.立项批复\n2.立项时间\n3.立项金额\n(立项报告的内容)\n4.招标方式", - "销售关键动作": "1、和客户确认是否需要测试\n2、对客户提出的测试需求进行评估,确定需求我们优势够,决定是否跟进测试\n3、引导客户的测试方案制定,引导将我们优势点,加入到测试方案中,如:性能、扩展性、边界\n4、在公司内部组织测试资源\n5、获取客户内部的测试报告,了解真实的测试结论\n6、了解客户对测试结果的态度和对手情况\n7、做测试正式汇报,和客户达成一致", - "售前关键动作": "", - "客户支持行为": "1.支持对我方有利的测试方案\n2. 提供内部真实的测试报告\n3.决策链人员认同测试效果,客户愿意引荐更高层领导汇报\n4.双方沟通项目计划且达成一致\n5.主动邀请提供招标参数或汇报材料", - "阶段转化标准": "1.项目预算批准、项目已立项\n2.有确定产品和数量、或\n3.完成场景应用/技术适用性验证、客户确定平鼎入围(完成poc)" - }, - { - "销售阶段名称": "04-bidding/negotiating", - "客户采购行为": "", - "销售阶段任务": "确认项目是否需要招标,提前影响招投标结果并赢得标书;若不需要招标,则完成商务谈判,确认价格和产品可交付沟通与评审", - "关键获取信息": "1.是否投标\n2.发标时间\n3.投标时间\n4.竞争对手\n5.对手产配置\n6.对手投标金额", - "销售关键动作": "1.制定关单策略及竞争策略\n2.控制立项报告(对对手不利的参数)\n3.如果无法控制立项,制定应对策略\n4.创造机会与高层沟通汇报\n5.沟通交付计划及SOW\n6. 确定关键联系人", - "售前关键动作": "", - "客户支持行为": "1.反馈客户内部的进展和计划\n2. 客户内部立项成功\n3.采纳我们提交的标参数(或有利于我方)\n3. 对黑马和灰犀牛的处理,愿意提供应对处理", - "阶段转化标准": "1.完成可交付评审;\n2.投标通过审批;\n3.投标结果确认赢标或完成商务谈判,确定价格和产品" - }, - { - "销售阶段名称": "05-contract review", - "客户采购行为": "", - "销售阶段任务": "发起合同协议审批申请,确认合同条款", - "关键获取信息": "无", - "销售关键动作": "", - "售前关键动作": "", - "客户支持行为": "", - "阶段转化标准": "合同评审通过,完成合同协商审批,确认合同条款" - }, - { - "销售阶段名称": "06-closed won", - "客户采购行为": "", - "销售阶段任务": "合同归档,项目赢单", - "关键获取信息": "无", - "销售关键动作": "", - "售前关键动作": "", - "客户支持行为": "", - "阶段转化标准": "合同归档" - }, - { - "销售阶段名称": "06-closed cancel", - "客户采购行为": "确认项目取消原因", - "销售阶段任务": "复盘项目输单原因", - "关键获取信息": "取消原因", - "销售关键动作": "", - "售前关键动作": "", - "客户支持行为": "", - "阶段转化标准": "1.客户明确表示取消项目\n2.投标确认状态为输单" - } -] - -actual_won_path = [ - { - "销售阶段名称": "01-prospecting", - "客户采购行为": "", - "销售阶段任务": "", - "关键获取信息": "1.联系人姓名\n2.部门\n3.职务\n4.手机\n5.预估整体项目节点数\n6.CRM情况\n7.是否是独立预算", - "销售关键动作": "", - "售前关键动作": "", - "客户支持行为": "1. 交流中客户较为开放,能告知需求,计划较为清晰;\n2. 愿意进一步需求沟通;\n3. 交流有多人甚至有多部门参与讨论;", - "阶段转化标准": "" - }, - { - "销售阶段名称": "02-evaluation", - "客户采购行为": "", - "销售阶段任务": "完成需求确认与收集\n完成技术评估与测试\n完成商务评估与商机确认\n完成市场调研与竞争分析", - "关键获取信息": "1.预算是否完成申批\n2.是否进PCC\n3.PCC是否已申批\n4.PCC状态\n5.测试类型\n6.测试项(用例)", - "销售关键动作": "**客户接触与需求识别**\n**商务调研与合同准备**\n**项目支持与优化**\n**内部协调与支持**", - "售前关键动作": "", - "客户支持行为": "1. **客户需求的深入理解与确认**:\n- 积极主动地与客户沟通,深入理解客户的需求、预算和业务目标。确保和明确预算。\n- 客户愿意参与并进行多次沟通,以确认需求的具体细节,并帮助解决方案能够准确匹配需求。\n\n2. **产品或服务的匹配度评估**:\n- 协助组织产品演示或服务方案说明会,充分展示我们产品的特点,包括技术能力、功能特性和性能指标。\n- 需要进行必要的技术评估和测试,以证明产品或服务的有效性和可靠性。\n\n3. **客户的积极认知与接受度**:\n- 客户对我们的解决方案表现出浓厚兴趣,并对其潜在价值有清晰认识。", - "阶段转化标准": "" - }, - { - "销售阶段名称": "03-qualification", - "客户采购行为": "", - "销售阶段任务": "完成需求确认与收集\n完成技术评估与测试\n完成商务评估与商机确认\n完成项目立项与合同准备", - "关键获取信息": "1.立项批复\n2.立项时间\n3.立项金额\n(立项报告的内容)\n4.招标方式", - "销售关键动作": "**客户关系管理**\n**项目支持与优化**\n**内部协调与支持**\n**商务谈判与合同准备**", - "售前关键动作": "", - "客户支持行为": "1. 支持对我方有利的测试方案\n2. 提供内部真实的测试报告\n3.决策链人员认同测试效果,客户愿意引荐更高层领导汇报\n4.双方沟通项目计划且达成一致\n5.主动邀请提供招标参数或汇报材料", - "阶段转化标准": "1. **需求与方案的匹配度**:确认客户的需求是否与公司的产品或服务有力匹配,包括技术能力、产品特性、服务范围等。\n\n2. **技术评估与测试**:评估完成技术验证或试用阶段,包括技术风险、兼容问题、服务水平等,并有足够的保障措施。\n\n3. **商务条款与定价**:初步确定商务条款和定价策略,以及客户对公司的信任程度。\n\n4. **内部准备就绪**:确保公司内部对于承接项目的服务能力已经就绪,包括技术支持、交付能力、服务团队、人力资源等。\n\n5. **客户意愿与定位**:明确在客户采购决策链中的竞争优势定位,包括定价策略、合同条款、竞争优势等。\n\n6. **合规性与法律审查**:确保所有商务活动符合相关法律法规,合同草案已经过法律审核,没有潜在的法律风险。" - }, - { - "销售阶段名称": "04-bidding/negotiating", - "客户采购行为": "", - "销售阶段任务": "完成需求确认与收集\n完成技术评估与测试\n完成项目立项与合同准备\n完成商务谈判与竞争分析", - "关键获取信息": "1.是否投标\n2.发标时间\n3.投标时间\n4.竞争对手\n5.对手产配置\n6.对手投标金额", - "销售关键动作": "**客户关系管理**\n**合同审查与订单处理**\n**客户接触与需求识别**\n**商务谈判与合同准备**", - "售前关键动作": "", - "客户支持行为": "1.反馈客户内部的进展和计划\n2. 客户内部立项成功\n3.采纳我们提交的招标参数(或有利于我方)\n3. 对黑马和灰犀牛的处理,愿意提供应对处理", - "阶段转化标准": "1. **客户需求与解决方案的匹配度确认**:\n- 确保所提供的解决方案完全符合客户的需求和预期。\n- 与客户共同验证解决方案的有效性和可行性。\n\n2. **中标主张的确定与沟通**:\n- 明确并强化产品或服务的独特卖点(USP)和价值主张。\n- 确认客户对产品或服务的认可度和采购意愿维持在较高水平。" - }, - { - "销售阶段名称": "05-contract review", - "客户采购行为": "", - "销售阶段任务": "", - "关键获取信息": "无", - "销售关键动作": "", - "售前关键动作": "", - "客户支持行为": "", - "阶段转化标准": "" - }, - { - "销售阶段名称": "06-closed won", - "客户采购行为": "", - "销售阶段任务": "完成需求确认与收集\n完成合同签订与归档", - "关键获取信息": "无", - "销售关键动作": "", - "售前关键动作": "", - "客户支持行为": "", - "阶段转化标准": "" - }, - { - "销售阶段名称": "06-cancel", - "客户采购行为": "", - "销售阶段任务": "", - "关键获取信息": "取消原因", - "销售关键动作": "", - "售前关键动作": "", - "客户支持行为": "", - "阶段转化标准": "" - } -] - -api_key = 'c6bbe7f48063a2c1' -api_secret = '5f8e7d3a97465cc099bf19bd1b70c266' -assistant_id = "66bb09a84673b57506fe7bbd" -agent = AgentProxy(assistant_id, api_key, api_secret) - -reflection_path = [] # 记录反思后的赢单路径 - -# Iterate over professional_won_path and get index in the loop -for index, pro_stage in enumerate(professional_won_path): - print(f"Index: {index}") - custom_stage = actual_won_path[index] - - # 反思销售阶段任务 - prompt_reflection_task = f""" - 任务: - 以专业咨询机构提出的销售阶段任务为参考和蓝本,结合客户自行总结的销售任务,提出改进版本的销售阶段任务,注意尽可能以专业机构的版本为主,语言、风格也按照专业机构的版本。 - 若客户自行总结的销售阶段任务为空或没有内容,则直接使用专业咨询机构提出的销售阶段任务。 - 输入: - 专业咨询机构提出的销售阶段任务: - {pro_stage['销售阶段任务']} - 客户自行总结的销售任务 - {custom_stage['销售阶段任务']} - 输出: - 反思后的销售阶段任务,以及反思后的销售阶段任务与专业咨询机构提出的销售阶段任务的差异,以及该改进的方法、依据、逻辑等 - """ - print(f"prompt_reflection_task: {prompt_reflection_task}") - reflection_task = agent.send_message(prompt_reflection_task) - print(f"反思后的销售阶段任务: {reflection_task}") - - reflection_stage = pro_stage.copy() - reflection_stage['销售阶段任务'] = reflection_task - - # 反思销售关键动作 - prompt_reflection_action = f""" - 任务: - 以专业咨询机构提出的销售关键动作为参考和蓝本,结合客户自行总结的销售关键动作,提出改进版本的销售关键动作,注意尽可能以专业机构的版本为主,语言、风格也比照专业机构的版本。 - 若结合客户自行总结的销售关键动作为空或没有内容,则直接使用专业咨询机构提出的销售关键动作。 - 输入: - 专业咨询机构提出的销售关键动作: - {pro_stage['销售关键动作']} - 通过客户自行总结得到的销售关键动作: - {custom_stage['销售关键动作']} - 输出: - 反思后的销售关键动作,以及反思后的销售关键动作与专业咨询机构提出的销售关键动作的差异,以及该改进的方法、依据、逻辑等 - """ - print(f"prompt_reflection_action: {prompt_reflection_action}") - reflection_action = agent.send_message(prompt_reflection_action) - print(f"反思后的销售关键动作: {reflection_action}") - reflection_stage['销售关键动作'] = reflection_action - - # 反思阶段转化标准 - prompt_reflection_standard = f""" - 任务: - 以专业咨询机构提出的阶段转化标准为参考和蓝本,结合客户自行总结的阶段转化标准,提出改进版本的阶段转化标准,注意尽可能以专业机构的版本为主,语言、风格也比照专业机构的版本。 - 若通过客户自行总结得到的阶段转化标准为空或没有内容,则直接使用专业咨询机构提出的阶段转化标准。 - - 输入: - 专业咨询机构提出的阶段转化标准: - {pro_stage['阶段转化标准']} - 通过客户自行总结得到的阶段转化标准: - {custom_stage['阶段转化标准']} - 输出: - 反思后的阶段转化标准,以及反思后的阶段转化标准与专业咨询机构提出的阶段转化标准的差异,以及该改进的方法、依据、逻辑等 - """ - print(f"prompt_reflection_standard: {prompt_reflection_standard}") - reflection_standard = agent.send_message(prompt_reflection_standard) - print(f"反思后的阶段转化标准: {reflection_standard}") - reflection_stage['阶段转化标准'] = reflection_standard - - reflection_path.append(reflection_stage) - -# Write reflection_path to Excel -df = pd.DataFrame(reflection_path) - -# Reorder columns to match the original structure -column_order = [ - "销售阶段名称", "客户采购行为", "销售阶段任务", "关键获取信息", - "销售关键动作", "售前关键动作", "客户支持行为", "阶段转化标准" -] -df = df.reindex(columns=column_order) - -# Write to Excel -excel_file_path = 'reflection_path_results.xlsx' -df.to_excel(excel_file_path, index=False) -print(f"Reflection path results have been written to {excel_file_path}") diff --git a/cursor b/cursor new file mode 100644 index 0000000..ca3eca0 --- /dev/null +++ b/cursor @@ -0,0 +1,44 @@ +Stage: Bidding+Negotiation +完成需求确认与收集: 1.43% +完成技术评估与测试: 2.86% +完成商务谈判与合同准备: 0.00% +完成内部审批与预算确认: 0.00% +完成项目立项与采购流程: 1.43% +完成关系建立与维护: 0.00% +完成市场调研与竞争分析: 2.86% +完成产品推广与市场活动: 0.00% +完成技术支持与售后服务: 0.00% +完成续约与增购谈判: 0.00% +Stage: Qualification +完成需求确认与收集: 1.69% +完成技术评估与测试: 1.69% +完成商务谈判与合同准备: 1.69% +完成内部审批与预算确认: 1.69% +完成项目立项与采购流程: 0.00% +完成关系建立与维护: 0.00% +完成市场调研与竞争分析: 1.69% +完成产品推广与市场活动: 0.00% +完成技术支持与售后服务: 0.00% +完成续约与增购谈判: 0.00% +Stage: Closed Won +完成需求确认与收集: 0.00% +完成技术评估与测试: 0.00% +完成商务谈判与合同准备: 3.85% +完成内部审批与预算确认: 0.00% +完成项目立项与采购流程: 0.00% +完成关系建立与维护: 3.85% +完成市场调研与竞争分析: 0.00% +完成产品推广与市场活动: 0.00% +完成技术支持与售后服务: 0.00% +完成续约与增购谈判: 3.85% +Stage: Evaluation +完成需求确认与收集: 2.22% +完成技术评估与测试: 4.44% +完成商务谈判与合同准备: 0.00% +完成内部审批与预算确认: 0.00% +完成项目立项与采购流程: 2.22% +完成关系建立与维护: 0.00% +完成市场调研与竞争分析: 4.44% +完成产品推广与市场活动: 0.00% +完成技术支持与售后服务: 0.00% +完成续约与增购谈判: 0.00% \ No newline at end of file diff --git a/data_doc/销售策略制定框架模板(V3.0)-赢单路径- Manual.xlsx b/data_doc/销售策略制定框架模板(V3.0)-赢单路径- Manual.xlsx index 7aa8e11b71245ff9b9b4fc88c8f7126c666425f0..70e889960b73dd8473179e9312f58d32b87de473 100644 GIT binary patch literal 14325 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 KekjWyzy1#)@R%O} literal 41451 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

&12LkuVQ|UDRtX6Q^iP>xw+?3C#bVFBb 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 V0m03sAP_U|;fv#4*em(<=|2500万 + Total 435,563,056.58 421,007,400.89 178,094,693.04 + + ACV单子数量分布: + 客户行业 <100万 100万-500万 >500万 + Total 1311 249 22 + + 销售目标人均任务ACV 500-600万 + + 输出: + 按照上述要点,给出分析报告 +""" + +print(agent.send_message(prompt)) \ No newline at end of file diff --git a/llm_combine_acv_data_analysis.py b/llm_combine_acv_data_analysis.py new file mode 100644 index 0000000..253a2cd --- /dev/null +++ b/llm_combine_acv_data_analysis.py @@ -0,0 +1,164 @@ +from AgentProxy import AgentProxy + + +api_key = 'c6bbe7f48063a2c1' +api_secret = '5f8e7d3a97465cc099bf19bd1b70c266' +assistant_id = "66bb09a84673b57506fe7bbd" +agent = AgentProxy(assistant_id, api_key, api_secret) + +text_won = """ +客户行业 ACVSUM 占比 ACVCNT 占比 +银行 175888600 50.62% 105 24.53% +证券基金 24932854 7.18% 47 10.98% +公共事业 12798197 3.68% 29 6.78% +保险 39237141 11.29% 29 6.78% +能源电力 3905334 1.12% 9 2.10% +物流/交通 10177672 2.93% 23 5.37% +制造/汽车 15018443 4.32% 27 6.31% +运营商 19638038 5.65% 26 6.07% +零售 14976953 4.31% 36 8.41% +互联网+ 16770817 4.83% 68 15.89% +其他 3853000 1.11% 8 1.87% +互金 8386816 2.41% 16 3.74% +ISV 46400 0.01% 2 0.47% +国央企 0 0.00% 0 0.00% +媒体/文娱 1019133 0.29% 2 0.47% +石油 0 0.00% 0 0.00% +国企 0 0.00% 0 0.00% +资产管理 0 0.00% 0 0.00% +政府 0 0.00% 0 0.00% +服务 0 0.00% 0 0.00% +医疗 0 0.00% 0 0.00% +云服务 0 0.00% 0 0.00% +央企招商局 0 0.00% 0 0.00% +农业 0 0.00% 0 0.00% +金融租赁 0 0.00% 0 0.00% +教育 0 0.00% 0 0.00% +融资担保 0 0.00% 0 0.00% +高科技 0 0.00% 0 0.00% +公共卫生 0 0.00% 0 0.00% +农林牧渔 0 0.00% 0 0.00% +教育/科研 792000 0.23% 1 0.23% +物流/交通/出行 0 0.00% 0 0.00% +电信/网络/云服务商 0 0.00% 0 0.00% +媒体/视频/文娱 0 0.00% 0 0.00% +社交/门户/在线服务 0 0.00% 0 0.00% +消费金融公司 0 0.00% 0 0.00% +游戏 0 0.00% 0 0.00% +零售/电商/消费品 0 0.00% 0 0.00% +Total 347441398 1 428 1 +""" + +text_pipeline = """ + Pipeline +客户行业 预估ACVSUM 占比 预估ACVCNT 占比 +银行 435192472 42.09% 403 25.39% +证券基金 96413873 9.33% 209 13.17% +公共事业 76163399 7.37% 154 9.70% +保险 73039728 7.06% 77 4.85% +能源电力 65098557 6.30% 91 5.73% +物流/交通 54499388 5.27% 95 5.99% +制造/汽车 45458488 4.40% 104 6.55% +运营商 41493666 4.01% 81 5.10% +零售 35260799 3.41% 93 5.86% +互联网+ 33295017 3.22% 112 7.06% +其他 25413146 2.46% 64 4.03% +互金 24768317 2.40% 46 2.90% +ISV 8490800 0.82% 10 0.63% +国央企 4866700 0.47% 7 0.44% +媒体/文娱 3066800 0.30% 11 0.69% +石油 2540000 0.25% 4 0.25% +国企 2402000 0.23% 4 0.25% +资产管理 1000000 0.10% 1 0.06% +政府 990000 0.10% 2 0.13% +服务 980000 0.09% 2 0.13% +医疗 700000 0.07% 2 0.13% +云服务 610000 0.06% 5 0.32% +央企招商局 500000 0.05% 1 0.06% +农业 450000 0.04% 2 0.13% +金融租赁 300000 0.03% 1 0.06% +教育 300000 0.03% 1 0.06% +融资担保 200000 0.02% 1 0.06% +高科技 153891 0.01% 1 0.06% +公共卫生 150000 0.01% 1 0.06% +农林牧渔 100000 0.01% 1 0.06% +教育/科研 0 0.00% 0 0.00% +物流/交通/出行 0 0.00% 0 0.00% +电信/网络/云服务商 0 0.00% 0 0.00% +媒体/视频/文娱 0 0.00% 0 0.00% +社交/门户/在线服务 0 0.00% 0 0.00% +消费金融公司 0 0.00% 1 0.06% +游戏 0 0.00% 0 0.00% +零售/电商/消费品 0 0.00% 0 0.00% +Total 1033897041 1 1587 1 +""" + +# You can also store this string in a variable if needed +# df_text = df_str +prompt_won = f""" + 任务: + 请根据以下输入的数据,按照以下要点以及背景知识,进行数据分析和解读,并给出分析结果。 + 背景知识: + 行业贡献:可以理解为ACV和预估ACV的金额大小,金额越大,则通常该行业的市场潜力和对公司的销售贡献越大。 + 行业effort:可以理解为订单的数量,订单数量越多,则通常该行业的销售努力程度越大。此处一个潜在假定是,每个订单的所要付出的effort是接近的,无论其金额大小。 + + 要点: + 1. 根据单子的金额数据,分析行业贡献。 + 2. 根据单子的数量数据,分析行业effort。 + 3. 分析行业贡献和行业effort的关系,是否存在正相关关系,是否存在付出了较大effort的行业,贡献却很小,以及付出了较小effort的行业,贡献却很大。 + 4. 分析行业平均单子金额,分析平均单子金额较大的行业 + 5. 依据你作为一个销售领域专家的身份,给出上述要点没有覆盖到的洞见 + 输入: + 已成单数据: + {text_won} + + 输出: + 按照上述要点,给出分析结果。 +""" + + +print(agent.send_message(prompt_won)) + +prompt_pipeline = f""" + 任务: + 请根据以下输入的数据,按照以下要点以及背景知识,进行数据分析和解读,并给出分析结果。 + 背景知识: + 行业贡献:可以理解为ACV和预估ACV的金额大小,金额越大,则通常该行业的市场潜力和对公司的销售贡献越大。 + 行业effort:可以理解为订单的数量,订单数量越多,则通常该行业的销售努力程度越大。此处一个潜在假定是,每个订单的所要付出的effort是接近的,无论其金额大小。 + 要点: + 1. 根据单子的金额数据,分析行业贡献。 + 2. 根据单子的数量数据,分析行业effort。 + 3. 分析行业贡献和行业effort的关系,是否存在正相关关系,是否存在付出了较大effort的行业,贡献却很小,以及付出了较小effort的行业,贡献却很大。 + 4. 分析行业平均单子金额,分析平均单子金额较大的行业 + 5. 依据你作为一个销售领域专家的身份,给出上述要点没有覆盖到的洞见 + 输入: + 未成单商机数据 + {text_pipeline} + 输出: + 按照上述要点,给出分析结果。 +""" + +print(agent.send_message(prompt_pipeline)) + +prompt_won_pipeline_comparison = f""" + 任务: + 请根据以下输入的数据,按照以下要点以及背景知识,进行数据分析和解读,并给出分析结果。 + 背景知识: + 行业贡献:可以理解为ACV和预估ACV的金额大小,金额越大,则通常该行业的市场潜力和对公司的销售贡献越大。 + 行业effort:可以理解为订单的数量,订单数量越多,则通常该行业的销售努力程度越大。此处一个潜在假定是,每个订单的所要付出的effort是接近的,无论其金额大小。 + 要点: + 1. 分析已成单数据和未成单商机数据对比的不同之处 + 2. 分析已成单数据和未成单商机数据的趋势变化(ACV产出的预计变化) + 3. 分析已成单数据和未成单商机数据的effort变化(跟进单子数量的趋势变化) + 4. 分析已成单数据和未成单商机数据的平均单子大小的变化(行业比行业,看行业跟进单子大小趋势变化) + 输入: + 已成单数据: + {text_won} + 未成单商机数据: + {text_pipeline} + 输出: + 按照上述要点,给出分析结果。 +""" + +print(agent.send_message(prompt_won_pipeline_comparison)) + diff --git a/llm_criteria_reflection.py b/llm_criteria_reflection.py new file mode 100644 index 0000000..8f91817 --- /dev/null +++ b/llm_criteria_reflection.py @@ -0,0 +1,126 @@ +# This Python file uses the following encoding: utf-8 + +""" +File: criteria_reflection.py +Description: 以专业咨询机构的赢单路径为参考,结合公司实际统计数据进行反思,提出改进版本的赢单路径 + +Author: [Your Name] +Date: [Current Date] +""" +from AgentProxy import AgentProxy +import pandas as pd + +df_custom = pd.read_excel('./data_doc/销售策略制定框架模板(V3.0)-赢单路径-AI.xlsx') +df_pro = pd.read_excel('./data_doc/销售策略制定框架模板(V3.0)-赢单路径- Manual.xlsx') + + + +api_key = 'c6bbe7f48063a2c1' +api_secret = '5f8e7d3a97465cc099bf19bd1b70c266' +assistant_id = "66bb09a84673b57506fe7bbd" +agent = AgentProxy(assistant_id, api_key, api_secret) + +reflection_path = [] # 记录反思后的赢单路径 + +# # Iterate over professional_won_path and get index in the loop +for index, pro_stage in df_pro.iterrows(): + # Get the corresponding row from df_custom + custom_stage = df_custom.iloc[index] if index < len(df_custom) else pd.Series() + reflection_stage = pro_stage.copy() + print(f"Index: {index}") + # print(f"---pro_stage---") + # print(f"销售阶段名称: {pro_stage['销售阶段名称']}") + # print(f"销售阶段任务: {pro_stage['销售阶段任务']}") + # print(f"销售关键动作: {pro_stage['销售关键动作']}") + # print(f"阶段转化标准: {pro_stage['阶段转化标准']}") + + + # print(f"---custom_stage---") + # print(f"销售阶段名称: {custom_stage['销售阶段名称']}") + # print(f"销售阶段任务: {custom_stage['销售阶段任务']}") + # print(f"销售关键动作: {custom_stage['销售关键动作']}") + # print(f"阶段转化标准: {custom_stage['阶段转化标准']}") + + + # 反思销售阶段任务 + prompt_reflection_task = f""" + 任务: + 根据当前的销售阶段 {pro_stage['销售阶段名称']} + 以专业咨询机构提出的销售阶段任务为参考和蓝本,结合客户自行总结的销售任务,提出改进版本的销售阶段任务,注意尽可能以专业机构的版本为主,语言、风格也按照专业机构的版本。 + 若客户自行总结的销售阶段任务为空或没有内容,则直接使用专业咨询机构提出的销售阶段任务。 + 输入: + 当前的销售阶段 + {pro_stage['销售阶段名称']} + 专业咨询机构提出的销售阶段任务: + {pro_stage['销售阶段任务']} + 客户自行总结的销售任务 + {custom_stage['销售阶段任务']} + 输出: + 反思后的销售阶段任务,以及反思后的销售阶段任务与专业咨询机构提出的销售阶段任务的差异,以及该改进的方法、依据、逻辑等 + """ + print(f"prompt_reflection_task: {prompt_reflection_task}") + reflection_task = agent.send_message(prompt_reflection_task) + print(f"反思后的销售阶段任务: {reflection_task}") + + + reflection_stage['销售阶段任务'] = reflection_task + + # 反思销售关键动作 + prompt_reflection_action = f""" + 任务: + 根据当前的销售阶段 {pro_stage['销售阶段名称']} + 以专业咨询机构提出的销售关键动作为参考和蓝本,结合客户自行总结的销售关键动作,提出改进版本的销售关键动作,注意尽可能以专业机构的版本为主,语言、风格也比照专业机构的版本。 + 若结合客户自行总结的销售关键动作为空或没有内容,则直接使用专业咨询机构提出的销售关键动作。 + 输入: + 当前的销售阶段 + {pro_stage['销售阶段名称']} + 专业咨询机构提出的销售关键动作: + {pro_stage['销售关键动作']} + 通过客户自行总结得到的销售关键动作: + {custom_stage['销售关键动作']} + 输出: + 反思后的销售关键动作,以及反思后的销售关键动作与专业咨询机构提出的销售关键动作的差异,以及该改进的方法、依据、逻辑等 + """ + print(f"prompt_reflection_action: {prompt_reflection_action}") + reflection_action = agent.send_message(prompt_reflection_action) + print(f"反思后的销售关键动作: {reflection_action}") + reflection_stage['销售关键动作'] = reflection_action + + # 反思阶段转化标准 + prompt_reflection_standard = f""" + 任务: + 根据当前的销售阶段 {pro_stage['销售阶段名称']} + 以专业咨询机构提出的阶段转化标准为参考和蓝本,结合客户自行总结的阶段转化标准,提出改进版本的阶段转化标准,注意尽可能以专业机构的版本为主,语言、风格也比照专业机构的版本。 + 若通过客户自行总结得到的阶段转化标准为空或没有内容,则直接使用专业咨询机构提出的阶段转化标准。 + + 输入: + 当前的销售阶段 + {pro_stage['销售阶段名称']} + 专业咨询机构提出的阶段转化标准: + {pro_stage['阶段转化标准']} + 通过客户自行总结得到的阶段转化标准: + {custom_stage['阶段转化标准']} + 输出: + 反思后的阶段转化标准,以及反思后的阶段转化标准与专业咨询机构提出的阶段转化标准的差异,以及该改进的方法、依据、逻辑等 + """ + print(f"prompt_reflection_standard: {prompt_reflection_standard}") + reflection_standard = agent.send_message(prompt_reflection_standard) + print(f"反思后的阶段转化标准: {reflection_standard}") + reflection_stage['阶段转化标准'] = reflection_standard + + reflection_path.append(reflection_stage) + +# Write reflection_path to Excel +df = pd.DataFrame(reflection_path) + +# Reorder columns to match the original structure +column_order = [ + "销售阶段名称", "客户采购行为", "销售阶段任务", "关键获取信息", + "销售关键动作", "售前关键动作", "客户支持行为", "阶段转化标准" +] +df = df.reindex(columns=column_order) + +# Write to Excel +excel_file_path = 'reflection_path_results_v2.xlsx' +df.to_excel(excel_file_path, index=False) +print(f"Reflection path results have been written to {excel_file_path}") diff --git a/output/acv_analysis_combined.xlsx b/output/acv_analysis_combined.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..4f985609986b09b0893aeb4fd25344090cc4214b GIT binary patch literal 13261 zcmeIZg;yP2(mjk@aCdiicXtc!c7r>?f;$9vchAM$HMqMZ!QI`%kK~#8o|(*if5AJ= zq8rxjs#W*&-lwY0*{v)G4uK8=1p)&C0zv|kO>bjw4GIE+3<&~)1_A@7D`s!!0W-{sNCrkv3pqsBhDaK1@N2D<=~;*uE>>?E3^izh zb`eCKHoI^JM0wb7EV*35BrT<;3Y_d;`IGyJB#$HcS7;6g-AT%!geTfpJnqC35x|Ye zvuIhza0T_amx#4pHTAHZCCQ@I2iTB^dZ8c~pJ#34Fam`#b+Ps&c&YW(En!E76~r*8 zr=XGHto@c!Nh>7C>R)yRw{imFN&x)K(w{oXzxAOU_<}1Y`RA_`(0(e3t1AUazmKcCdOaq z|8evGFd_fts{`W|l>Xx8bLi0B{P$R7Q8_me={6EIA3vFINDWa1!eM^?Y{M;#84+-|Z1Kck}aku|zigrqz=euSo_bV`CJkfA*~EOg(rd_u!j2mMedESPCfg@XqHDm7i`~`q4VK@&qSp^-qO{7l0@{ttc(KuEs?$D zHKezZakpV|vv;yKvA4JWmBb3wRg_klk$rONUy&aKxDhQ^BnwMzaS>pV1He|%Si@Jf z6gJ0PEl@VQ&N4ZJXDknitxlHAeSe;w^6hQAsBbTzB}9B?72h5b!K6cryL2MVU$wNk zi!EYjc%S|`K6pQk#)bF(=ZP83_NGc$FeFG3oJ#RW3?pECB!(J6ctny>8mzW5f*8+W zd3}IP0CPRjhR<+I^WMbUH&M0qZSZ_^A;3->)xmpbvwKHJ;RZE z$94?*pEc$w803qc%y!fcWJWmT#O8wYv}&_pwKWUU_lzhMV~~TOb$JYBu!T=UTRzkl zrbkJXiCEzs8YZa+3QRzREwz5=vS!4YLzIU3=ATRn>aC`!X0E|-g}k8)`O|oOPrepa z>KL}fYhr#A$At__UP!s9xlAcaqT-9rmRoJ%6URAGZ((@&yAUnlL*<�HnoeF2-6? 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 literal 0 HcmV?d00001 diff --git a/output/acv_analysis_v2(with count).xlsx b/output/acv_analysis_v2(with count).xlsx new file mode 100644 index 0000000000000000000000000000000000000000..26dea886c8ba3e90bc236b6596884537b081791a GIT binary patch literal 17589 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 literal 0 HcmV?d00001 diff --git a/output/pipeline_sub_industry_dist_sum.xlsx b/output/pipeline_sub_industry_dist_sum.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..b282be04703734289979555c23ae189d7f16693d GIT binary patch literal 6372 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 a{FlU1Q$j=N6951v;wy%z;E+eZpZ*69DO(@_ literal 0 HcmV?d00001 diff --git a/random_pick_crm_mandatory.py b/random_pick_crm_mandatory.py new file mode 100644 index 0000000..880d158 --- /dev/null +++ b/random_pick_crm_mandatory.py @@ -0,0 +1,24 @@ +from linguistic_checker import LinguisticChecker +import pandas as pd + +api_key = '25bda2c39c0f8ca0' +api_secret = 'e0008b9b9727cb8ceea5a132dbe62495' +assistant_id = "66bb09a84673b57506fe7bbd" + +checker = LinguisticChecker(api_key, api_secret, assistant_id) + +df = pd.read_excel('./data_src/pingcap_pipeline.xlsx') + +# Iterate over the DataFrame +for index, row in df.iterrows(): + try: + # Assuming 'CRM Field' and 'User Input' are column names in the Excel file + # Adjust these names if they're different in your actual file + crm_field = row['CRM Field'] + user_input = row['User Input'] + + # Check the input using the LinguisticChecker + result = checker.check_input(crm_field, user_input) + except Exception as e: + print(f"Error processing row {index}: {str(e)}") + result = None diff --git a/reflection_path_results_v2.xlsx b/reflection_path_results_v2.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d1306198e8a05da71437c64ff07577774039f8e5 GIT binary patch literal 25571 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 B0kQx9 literal 0 HcmV?d00001