Skip to content

Commit

Permalink
Merge pull request #656 from RobinNagpal/dawood/final-report-revision
Browse files Browse the repository at this point in the history
final report revision
  • Loading branch information
RobinNagpal authored Feb 5, 2025
2 parents f82806e + 347e315 commit 1c5476c
Show file tree
Hide file tree
Showing 4 changed files with 190 additions and 91 deletions.
13 changes: 11 additions & 2 deletions ai-agents/crowd-fund-analysis/cf_analysis_agent/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,21 @@
from cf_analysis_agent.reports.financial_review_agent import create_financial_review_report
from cf_analysis_agent.reports.founder_and_team import create_founder_and_team_report
from cf_analysis_agent.reports.final_report import create_final_report_test

from enum import Enum

# ------------------- REPORT MAPPING ------------------- #
report_keys = ["general_info", "red_flags", "green_flags", "relevant_links", "team_info","financial_review"]

class AgentNodes(ReportType):
class AgentNodes(str, Enum):
GENERAL_INFO = "general_info",
FOUNDER_AND_TEAM = "founder_and_team",
TRACTION = "traction",
MARKET_OPPORTUNITY = "market_opportunity",
VALUATION = "valuation",
EXECUTION_AND_SPEED = "execution_and_speed",
FINANCIAL_HEALTH = "financial_health",
RELEVANT_LINKS = "relevant_links"
FINAL = "final"
GENERATE_ALL_REPORTS_SERIALLY = "generate_all_reports_serially"

final_key_map = {
Expand Down
195 changes: 120 additions & 75 deletions ai-agents/crowd-fund-analysis/cf_analysis_agent/reports/final_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,94 +14,139 @@ def generate_project_info_report(state: AgentState, combined_reports: str):
Generate a structured evaluation report for a startup based on AI analysis.
"""
prompt = (
f"""You are an expert startup evaluator. Your task is to analyze the given startup reports and **score the startup on five categories**, using a **binary scoring system (0 or 1)** for five predefined sub-points in each category.
### **Scoring Rules**
- Each **category has 5 predefined sub-points**.
- Each **sub-point is scored as either 0 or 1** (no half points).
- **Provide reasoning** for each sub-point score.
- **Return JSON format as instructed**.
f"""You are an expert startup evaluator. Your task is to analyze the given startup data and **score the startup on given categories**, using a **binary scoring system (0 or 1)** for five predefined sub-points in each category.
### **Evaluation Rules**
- Each category has 5 predefined sub-points.
- Provide a one liner question based summary of the sub-points.
- Each sub-point is scored as either 0 or 1 (no half points).
- Provide reasoning as comment for each sub-point score.
- From the given startup data, list down 0-3 points related to startup's significant achievements
- From the given startup data, list down 0-3 points related to startup's potential risk factors which an investor needs to consider
- Return JSON format as instructed.
---
"""
f"\n\n### Startup Reports\n{combined_reports}\n\n---\n\n"
f"\n\n### Startup Related Data\n{combined_reports}\n\n---\n\n"
"""
### **Evaluation Categories & Sub-Points**
#### **1. Product Innovation**
1. **Novelty** → Is the product fundamentally innovative compared to existing solutions?
2. **Scalability** → Can the product scale effectively to serve a large market?
3. **Competitive Edge** → Does the product have a strong competitive advantage?
4. **Feasibility & Execution** → Is the technology feasible and has a working prototype?
5. **Intellectual Property (IP) Protection** → Are patents or trade secrets protecting innovation?
#### **2. Market Opportunity**
1. **Total Addressable Market (TAM)** → Is the market size large enough for significant growth?
2. **Customer Interest** → Are there Letters of Intent (LOIs) or early adopters showing demand?
3. **Regulatory & Compliance Risks** → Are there significant legal or regulatory challenges?
4. **Market Growth Rate** → Is the market expanding at a favorable rate?
5. **Competitive Landscape** → Does the startup have room to operate despite competitors?
#### **3. Team Strength**
1. **Industry Experience** → Do key team members have relevant experience in this industry?
2. **Diversity of Skills** → Does the team have a balance of technical, business, and marketing expertise?
3. **Advisory Board & Investors** → Are there strong advisors, mentors, or investors supporting the startup?
4. **Previous Success** → Have the founders or team members built successful startups before?
5. **Leadership & Execution Capability** → Is there evidence of strong leadership and execution ability?
#### **4. Financial Health**
#### **1. Founder & Team Strength**
1. **Industry Experience** - Do the Founders or key team members have relevant experience in this industry?
2. **Diversity of Skills** - Does the team have a balance of technical, business, and marketing expertise?
3. **Execution Capability** - Has the team demonstrated the ability to build and scale a business in the past?
4. **Resilience & Adaptability** - Has the team pivoted successfully in response to market feedback?
5. **Network & Credibility** - Do the founders have strong industry connections, investor trust, or prior successful ventures?
### **2. Traction**
1. **Revenue or User Growth** - Is there a demonstrated increase in revenue, users, or customers?
2. **Customer Retention** - Are users returning, and is there strong customer engagement?
3. **Market Validation** - Has the startup secured key partnerships, early adopters, or major clients?
4. **Product Adoption Rate** - Is the product gaining traction without excessive spending on customer acquisition?
5. **Positive Customer Feedback** - Are reviews, testimonials, and referrals strong?
### **3. Market Opportunity**
1. **Total Addressable Market (TAM)** - Is the market size large and growing?
2. **Customer Pain Point & Urgency** - Does the startup solve a pressing, real problem?
3. **Competitive Landscape** - Can the startup stand out in the market against competitors?
4. **Scalability Potential** - Can the business model expand efficiently (e.g., geography, verticals, automation)?
5. **Regulatory & Industry Trends** - Are there favorable policies or trends supporting growth?
### **4. Valuation**
1. **Realistic Pricing** - Is the valuation reasonable compared to industry benchmarks?
2. **Revenue Multiples & Growth Expectations** - Does the valuation align with financial performance and growth?
3. **Exit Potential** - Is there a clear path to acquisition or IPO?
4. **Investor Confidence** - Have reputable investors backed the company?
5. **Market Sentiment & Comparables** - Does the valuation align with similar companies in the space?
### **5. Execution & Speed**
1. **Go-to-Market Strategy** - Is there a clear, effective strategy to acquire users/customers?
2. **Product Development Efficiency** - Has the company launched a working product with improvements over time?
3. **Operational Agility** - Can the company quickly adapt to market changes?
4. **Decision-Making Speed** - Does the leadership act decisively and effectively?
5. **Competitive Edge in Execution** - Is the startup outperforming competitors in execution?
#### **6. Financial Health**
1. **Funding Secured** → Has the startup successfully raised capital from reputable investors?
2. **Revenue Generation** → Is the company generating revenue, or is it still pre-revenue?
3. **Cash Runway** → Does the company have enough cash to operate for at least 6-12 months?
4. **Debt vs. Assets** → Is the company financially stable, or does it have excessive liabilities?
5. **Financial Growth Potential** → Is there a clear path to profitability within a reasonable timeframe?
#### **5. Business Model & Revenue Strategy**
1. **Revenue Model Clarity** → Is there a clear and viable revenue model?
2. **Recurring Revenue** → Does the startup have recurring revenue (SaaS, subscriptions, etc.)?
3. **Go-To-Market Strategy** → Is there a well-defined customer acquisition plan?
4. **Profitability Potential** → Can the business scale profitably in the long run?
5. **Strategic Partnerships** → Are there partnerships that strengthen the business model?
2. **Revenue vs. Burn Rate** - Is the company generating enough revenue compared to its expenses?
3. **Fundraising & Cash Runway** - Does the company have sufficient capital for sustainable growth?
4. **Unit Economics** - Are customer acquisition costs sustainable relative to lifetime value?
5. **Financial Growth Potential** - Is there a clear path to profitability within a reasonable timeframe?
---
### **Return JSON Format**
Respond **ONLY** with a JSON object in this **exact format** without any text before or after:
{
"productInnovation": [
{ "comment": "The startup has a unique technology with patents.", "score": 1 },
{ "comment": "The product is scalable for large markets.", "score": 1 },
{ "comment": "Lacks strong differentiation from competitors.", "score": 0 },
{ "comment": "Technology feasibility is well-proven with a working prototype.", "score": 1 },
{ "comment": "No clear IP protection strategy.", "score": 0 }
],
"marketOpportunity": [
{ "comment": "Large total addressable market exists.", "score": 1 },
{ "comment": "Has secured multiple customer LOIs.", "score": 1 },
{ "comment": "No regulatory concerns affecting expansion.", "score": 1 },
{ "comment": "Market growth rate is favorable.", "score": 1 },
{ "comment": "Highly competitive market, hard to stand out.", "score": 0 }
],
"teamStrength": [
{ "comment": "CEO has over 10 years of experience in the sector.", "score": 1 },
{ "comment": "Lacks strong technical expertise outside of founding team.", "score": 0 },
{ "comment": "Backed by experienced advisors.", "score": 1 },
{ "comment": "Founders have successfully exited past startups.", "score": 1 },
{ "comment": "Leadership has demonstrated strong execution ability.", "score": 1 }
],
"financialHealth": [
{ "comment": "Secured $2M in funding from top VCs.", "score": 1 },
{ "comment": "No revenue generated yet, still pre-revenue.", "score": 0 },
{ "comment": "Short cash runway of less than 3 months.", "score": 0 },
{ "comment": "Debt-to-assets ratio is concerning.", "score": 0 },
{ "comment": "Customer LOIs indicate potential revenue soon.", "score": 1 }
],
"businessModel": [
{ "comment": "Clear revenue model with B2B energy storage sales.", "score": 1 },
{ "comment": "No recurring revenue streams like SaaS.", "score": 0 },
{ "comment": "Weak customer acquisition strategy.", "score": 0 },
{ "comment": "Strong potential for profitability in 5 years.", "score": 1 },
{ "comment": "Has partnerships with renewable energy firms.", "score": 1 }
]
"highlights": {
"achievements": [
"Earnings grew by 148.4% over the past year.",
"Secured a funding of $25 million from Y combinator.",
"Monthly active users grew 30% QoQ."
],
"risks": ["No potential risks."]
},
"evaluation": {
"teamStrength": {
"subpointsSummary": "Does the team have the experience, skills, and credibility to build and scale the business?",
"subpointsScoring": [
{ "comment": "CEO has over 10 years of experience in the sector.", "score": 1 },
{ "comment": "Lacks strong technical expertise outside of founding team.", "score": 0 },
{ "comment": "Founders have successfully exited past startups.", "score": 1 },
{ "comment": "No significant change", "score": 0 },
{ "comment": "Backed by senior advisors.", "score": 1 }
]
},
"traction": {
"subpointsSummary": "Does the startup show strong user growth, retention, and market validation?",
"subpointsScoring": [
{ "comment": "Monthly active users grew 30% QoQ.", "score": 1 },
{ "comment": "Low user retention beyond first 3 months.", "score": 0 },
{ "comment": "Secured partnership with a major industry player.", "score": 1 },
{ "comment": "High acquisition cost with slow organic adoption.", "score": 0 },
{ "comment": "Positive early customer reviews and referrals.", "score": 1 }
]
},
"marketOpportunity": {
"subpointsSummary": "Is the market large, growing, and does the startup have a competitive edge?",
"subpointsScoring": [
{ "comment": "Total addressable market estimated at $10B.", "score": 1 },
{ "comment": "Addresses a real but non-urgent problem.", "score": 0 },
{ "comment": "Moderate competition with some differentiation.", "score": 1 },
{ "comment": "Business model allows for expansion to new markets.", "score": 1 },
{ "comment": "Regulatory landscape remains uncertain.", "score": 0 }
]
},
"valuation": {
"subpointsSummary": "Is the valuation reasonable and aligned with financial performance?",
"subpointsScoring": [
{ "comment": "Valuation aligns with industry benchmarks.", "score": 1 },
{ "comment": "High revenue growth but low profit margins.", "score": 0 },
{ "comment": "Potential exit opportunities via acquisition.", "score": 1 },
{ "comment": "Backed by well-known investors.", "score": 1 },
{ "comment": "Market comparables suggest valuation may be slightly overvalued.", "score": 0 }
]
},
"executionSpeed": {
"subpointsSummary": "Is the startup executing efficiently and outpacing competitors?",
"subpointsScoring": [
{ "comment": "Strong go-to-market execution with rapid user acquisition.", "score": 1 },
{ "comment": "Product has been delayed twice.", "score": 0 },
{ "comment": "Leadership has pivoted efficiently in response to feedback.", "score": 1 },
{ "comment": "Slow decision-making process at executive level.", "score": 0 },
{ "comment": "Outperforming direct competitors in key markets.", "score": 1 }
]
},
"financialHealth": {
"subpointsSummary": "Is the startup financially stable with a clear path to profitability?",
"subpointsScoring": [
{ "comment": "Successfully raised $5M in Series A.", "score": 1 },
{ "comment": "High burn rate with no clear path to break-even.", "score": 0 },
{ "comment": "Sufficient runway for the next 18 months.", "score": 1 },
{ "comment": "Customer acquisition costs remain high relative to LTV.", "score": 0 },
{ "comment": "Revenue projections indicate profitability in 2 years.", "score": 1 }
]
}
}
}
"""
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Optional, Literal
from typing import Optional, Literal, List

from pydantic import BaseModel, Field

Expand Down Expand Up @@ -26,3 +26,36 @@ class StartupAndTeamInfoStructure(BaseModel):
startup_details: str = Field(description="A single sentence explaining what the startup does")
industry: str = Field(description="A brief overview of the industry, including how it has grown in the last 3-5 years, its expected growth in the next 3-5 years, challenges, and unique benefits for startups in this space")
team_members: list[TeamMemberStructure] = Field(description="A list of team members with their details")

class EvaluationSubpoint(BaseModel):
"""Represents an individual evaluation criterion with a score and comment."""
comment: str = Field(description="A brief comment explaining the assessment.")
score: int = Field(description="The score given for this subpoint, typically 0 or 1.")


class EvaluationCategory(BaseModel):
"""Represents an evaluation category with a summary and detailed scoring."""
subpointsSummary: str = Field(description="Summary of what this evaluation category assesses.")
subpointsScoring: List[EvaluationSubpoint] = Field(description="List of individual evaluations with comments and scores.")


class EvaluationStructure(BaseModel):
"""Holds evaluation data across multiple categories."""
teamStrength: EvaluationCategory
traction: EvaluationCategory
marketOpportunity: EvaluationCategory
valuation: EvaluationCategory
executionSpeed: EvaluationCategory
financialHealth: EvaluationCategory


class Highlights(BaseModel):
"""Represents key startup highlights including achievements and risks."""
achievements: List[str] = Field(description="List of key achievements.")
risks: List[str] = Field(description="List of identified risks.")


class StartupEvaluationStructure(BaseModel):
"""Overall structure for evaluating a startup."""
highlights: Highlights
evaluation: EvaluationStructure
Loading

0 comments on commit 1c5476c

Please sign in to comment.