Demo / strategyGen.py
Zaious's picture
Update strategyGen.py
e0c8e50 verified
import openai
import os
from openai import OpenAI
client = OpenAI(
api_key= os.environ["gptkey"]
)
def ideagen(content_type , brand_name, product_list, core_essence, brand_target, target_customer, additional):
total_prompt_tokens_used = 0
total_completion_tokens_used = 0
print("GO")
messages_base = [
{"role": "system", "content": "請你扮演一位行銷專家,使用特定的分析方式幫我分析下面這個品牌的Brief"},
]
if content_type == 0:
messages_base.extend([{"role": "user", "content": f"分析方式:SWOT分析。分析目標:優勢(Strengths):這些是組織在市場上相對於競爭對手的內在優勢。這可能包括專利技術、品牌識別度、市場份額、財務資源、客戶忠誠度或有效的供應鏈等。識別這些優勢可以幫助組織最大化其競爭優勢。;劣勢(Weaknesses):這些是組織在運營和策略方面的內在弱點。劣勢可能包括資金不足、技術落後、品牌形象不佳、管理問題或顧客服務缺陷等。識別並了解這些劣勢對於規避風險和改進策略至關重要。;機會(Opportunities):這些是組織可以利用來增長和改進的外部條件。機會可能來自市場變化、技術創新、政策變更、消費者趨勢的變化或新市場的出現。識別機會有助於組織抓住成長的可能性。;威脅(Threats):這些是來自組織外部的可能對其造成損害的因素。威脅可能包括競爭加劇、市場需求減少、負面公關、法律變化或經濟衰退等。了解這些威脅對於制定風險管理策略和確保組織穩定性非常重要。"}])
if content_type == 1:
messages_base.extend([{"role": "user", "content": f"分析方式:五力分析。分析目標:行業中的競爭者(Rivalry Among Existing Competitors):這是指在同一行業內現有公司之間的競爭程度。高度競爭的行業通常會壓低利潤率,因為公司可能會進行價格戰、廣告戰或產品創新來爭奪市場份額。;潛在的新進入者(Threat of New Entrants):這涉及新公司進入行業的可能性和容易程度。如果進入障礙低(如低的資本要求、輕微的政府規範等),新公司可能會進入該行業,增加競爭壓力。;替代品的威脅(Threat of Substitute Products or Services):這是指其他產品或服務可以替代現有產品的程度。如果替代品較多或更具吸引力,則可能會減少對原有產品的需求,從而影響行業的盈利能力。;供應商的議價能力(Bargaining Power of Suppliers):這涉及供應商在定價和供應條件方面的影響力。強大的供應商可以提高原材料價格或降低其質量,從而對行業參與者施加壓力。;消費者的議價能力(Bargaining Power of Buyers):這是指消費者對價格和質量的影響力。當幾家大客戶控制著大量購買量時,他們可能會對價格、質量和服務條件施加壓力。"}])
if content_type == 2:
messages_base.extend([{"role": "user", "content": f"分析方式:PESTEL分析。分析目標:政治因素(Political):這包括政府政策、政治穩定性、稅收政策、貿易限制和改革法規等。政治因素可能影響企業的運營方式,企業可能面臨的法律挑戰,以及一個國家的商業環境。;經濟因素(Economic):這些因素涉及經濟環境的方方面面,例如利率、匯率、經濟增長、通脹和消費者支出模式等。這些因素可以影響企業的購買力和成本。;社會因素(Social):這包括人口統計特徵、文化趨勢、人口動態、生活方式的改變以及教育水平等。這些因素可以影響企業的市場需求和企業運營方式。;技術因素(Technological):涉及到新技術的開發和應用,這可能影響運營效率、創新能力和供應鏈結構。技術進步還可以創造新的產品和市場。;環境因素(Environmental):這涉及到環境保護法規、氣候變化以及可持續發展的壓力。這些因素對於一些行業,如農業、旅遊和保險業尤其重要。;法律因素(Legal):包括與企業運營有關的所有法律規定,例如消費者法、勞動法、健康與安全法規和國際貿易規定等。"}])
if content_type == 3:
messages_base.extend([{"role": "user", "content": f"分析方式:Business Model Canvas。分析項目:價值主張(Value Propositions):這是企業提供給客戶的產品或服務的價值。它應該解決客戶的問題或滿足他們的需求,並且與市場上的其他產品或服務有所不同。;客戶群體(Customer Segments):這部分定義了企業服務的目標客戶群體。企業可能會有一個或多個客戶群體,每個群體的需求、行為和偏好都可能不同。;渠道(Channels):這涉及到企業如何將其產品或服務傳達給客戶群體。這包括銷售和分銷渠道、網絡、實體店面等。;客戶關係(Customer Relationships):描述企業如何與其客戶群體建立和維護關係。這可能包括個性化服務、自助服務、自動服務、社區創建等。;收入流(Revenue Streams):這部分闡述企業如何從其價值主張中獲利。這可能包括產品銷售、訂閱費、租賃費、廣告費等。;關鍵資源(Key Resources):企業需要哪些資源來提供其價值主張、達到其市場和維護客戶關係。這些資源可能包括人力、知識、財務、物理和智慧資產等。;關鍵活動(Key Activities):企業必須執行哪些活動來提供其價值主張、達到其市場和維護客戶關係。這可能包括製造、開發、銷售、服務等。;關鍵夥伴(Key Partnerships):企業與哪些外部組織合作以運營成功。合作夥伴可能包括供應商、製造商、合作夥伴、業務聯盟等。;成本結構(Cost Structure):描述企業在運營中產生的主要成本。成本結構可以根據商業模式的不同而有很大的差異,並且可能包括固定成本、變動成本、規模經濟等。"}])
if content_type == 4:
messages_base.extend([{"role": "user", "content": f"分析方式:STP分析。分析項目:細分(Segmentation):這是將市場劃分成不同的群體的過程。這些群體是根據消費者的需求、行為、特徵或其他因素來定義的。例如,一家公司可能會根據年齡、性別、收入水平、地理位置等因素對市場進行細分。;目標(Targeting):一旦市場被細分,公司就需要選擇一個或多個市場細分作為其目標市場。這涉及評估每個細分的吸引力並決定公司的產品或服務最能滿足哪些群體的需求。目標市場的選擇基於細分的大小、增長潛力、競爭程度以及公司的資源和能力。;定位(Positioning):最後一步是定位,這是在目標市場中創建產品或服務的獨特形象的過程。定位涉及決定如何在消費者心目中區別自己的產品或服務,並與競爭對手的產品或服務相比較。這可以通過強調產品的獨特賣點、價格策略、促銷活動等來實現。"}])
if content_type == 5:
messages_base.extend([{"role": "user", "content": f"分析方式:4P分析。分析項目:產品(Product):這涉及到公司提供給市場的實際產品或服務。在這一階段,重點在於了解產品的特性、質量、設計、品牌、包裝以及與其他產品的區別等。這也包括產品生命週期的管理,以及如何通過新產品開發來滿足市場的變化需求。;價格(Price):這是產品或服務的價格策略。它包括定價方法(如成本加成定價、價值定價等)、折扣策略、信用條件等。價格策略對市場定位和目標消費者群體有重要影響。;促銷(Promotion):這涉及到如何促進產品或服務,以增加消費者的認知度和興趣。這包括廣告、公關、銷售促進、個人銷售和社交媒體營銷等。促銷策略的目的是有效地傳遞產品的信息,並激勵目標市場採取行動。;地點(Place):這是關於產品如何到達消費者的問題,包括分銷渠道的選擇、物流、庫存管理、零售地點的選擇等。地點策略確保產品在適當的時間和地點可供目標市場的消費者購買。"}])
if content_type == 6:
messages_base.extend([{"role": "user", "content": f"分析方式:Competitor Analysis。分析方式:請先列舉三個該品牌可能的主要競爭對手,接著依照(競爭對手一)(競爭對手二)(競爭對手三)分別做一輪以下的分析,。分析項目:市場概況:分析競爭對手在市場上的位置,如市場份額、目標市場覆蓋、客戶基礎等。與您的品牌相比,考慮其市場擴展速度、市場影響力以及在特定區域或客戶群中的強勢和弱勢。;消費族群:識別競爭對手主要服務的消費者群體,包括他們的年齡、性別、收入水平、購買習慣等。與您的品牌相比,評估競爭對手在特定消費者群體中的吸引力和市場滲透率。;品牌形象:分析競爭對手的品牌認知度、品牌聲譽、顧客忠誠度以及市場中的整體形象。與您的品牌相比,考察哪個品牌在消費者心目中更具吸引力,以及各自在公眾認知中的優勢和劣勢。;營銷策略:研究競爭對手的廣告方法、促銷活動、社交媒體策略、公共關係等。與您的品牌相比,評估哪個品牌在吸引和保留客戶方面更有效,以及在市場溝通和品牌推廣方面的策略差異。;分析競爭對手產品的質量、設計、價格、創新性、技術特點等。與您的產品相比,找出競爭對手產品的獨特賣點和潛在劣勢,以及您的產品在市場上的相對地位。;探討競爭對手的長期策略、擴張計劃、新產品開發、技術創新等。與您的品牌相比,評估哪個品牌在未來的市場前景上更具優勢,包括增長潛力、可持續發展能力和應對市場變化的靈活性。"}])
messages_base.extend([{"role": "user", "content": f"分析品牌:{brand_name}。主要產品:{product_list}。品牌理念:{core_essence}。品牌目標:{brand_target}。目標客群:{target_customer}。補充資料:{additional}。"}])
messages_base.extend([{"role": "user", "content": "請運用你的專業,盡可能分析的具體且深入,對於資訊不足的部分請說明你的推理並附上依據,在分析目標逐項說明結束後做個小總結。請使用繁體中文"}])
response = client.chat.completions.create(
model='gpt-4o',
max_tokens=3000,
temperature=0.5,
messages=messages_base
)
completed_text = response.choices[0].message.content
total_prompt_tokens_used += response.usage.prompt_tokens
total_completion_tokens_used += response.usage.completion_tokens
price = total_prompt_tokens_used*0.005/1000 + total_completion_tokens_used*0.015/1000
price_str = "price:" + str(price) + "$"
#full_text = completed_text + "\n" + price
full_text = completed_text
#print(full_text)
#return response.choices[0].message.content
return full_text
def ideagen_adv(content_type , brand_name, product_list, core_essence, brand_target, target_customer, strength_focus, weakness_focus, opportunities_focus, threats_focus, additional):
total_prompt_tokens_used = 0
total_completion_tokens_used = 0
print("GO")
messages_base = [
{"role": "system", "content": "你是一位行銷策略大師,擅長使用各種策略分析的模型,解決品牌在經營上的難題。請使用指定的分析模型,根據提供的品牌資訊,產出分析的結果。"},
]
if content_type == 0:
messages_base.extend([{"role": "user", "content": f"分析方式:SWOT Analysis。SWOT Analysis包含以下四個部分:優勢(Strengths):這些是組織在市場上相對於競爭對手的內在優勢。可能包括專利技術、品牌識別度、市場份額、財務資源、客戶忠誠度或有效的供應鏈等。識別這些優勢可以幫助組織最大化其競爭優勢。;劣勢(Weaknesses):這些是組織在運營和策略方面的內在弱點。劣勢可能包括資金不足、技術落後、品牌形象不佳、管理問題或顧客服務缺陷等。識別並了解這些劣勢對於規避風險和改進策略至關重要。;機會(Opportunities):這些是組織可以利用來增長和改進的外部條件。機會可能來自市場變化、技術創新、政策變更、消費者趨勢的變化或新市場的出現。識別機會有助於組織抓住成長的可能性。;威脅(Threats):這些是來自組織外部的可能對其造成損害的因素。威脅可能包括競爭加劇、市場需求減少、負面公關、法律變化或經濟衰退等。了解這些威脅對於制定風險管理策略和確保組織穩定性非常重要。"}])
messages_base.extend([{"role": "user", "content": f"品牌資訊如下,分析品牌:{brand_name}。主要產品:{product_list}。品牌理念:{core_essence}。品牌目標:{brand_target}。目標客群:{target_customer}。補充資料:{additional}。"}])
messages_base.extend([{"role": "user", "content": f"請 Step by Step 的思考,Strength 分析請加上針對{strength_focus}的思考,得出這些問題的答案後,再根據 Strength 分析的定義,以條列的方式產出內容。"}])
messages_base.extend([{"role": "user", "content": f"Weakness 分析請加上針對{weakness_focus}的思考,得出這些問題的答案後,再根據 Strength 分析的定義,以條列的方式產出內容。"}])
messages_base.extend([{"role": "user", "content": f"Opportunities 分析請加上針對{opportunities_focus}的思考,得出這些問題的答案後,再根據 Strength 分析的定義,以條列的方式產出內容。"}])
messages_base.extend([{"role": "user", "content": f"Threats 分析請加上針對{threats_focus}的思考,得出這些問題的答案後,再根據 Strength 分析的定義,以條列的方式產出內容。"}])
messages_base.extend([{"role": "user", "content": "請運用你的專業,限定在台灣市場,盡可能分析的具體且深入,對於資訊不足的部分請說明你的推理並附上依據,在分析目標逐項說明結束後,針對品牌目標,提供可行的策略。請使用繁體中文"}])
response = client.chat.completions.create(
model='gpt-4o',
max_tokens=3000,
temperature=0.5,
messages=messages_base
)
completed_text = response.choices[0].message.content
total_prompt_tokens_used += response.usage.prompt_tokens
total_completion_tokens_used += response.usage.completion_tokens
price = total_prompt_tokens_used*0.005/1000 + total_completion_tokens_used*0.015/1000
price_str = "price:" + str(price) + "$"
#full_text = completed_text + "\n" + price
full_text = completed_text
#print(full_text)
#return response.choices[0].message.content
return full_text