TalentPerformer

Product Monitoring & Innovation Agent

An AI agent monitoring product performance and driving innovation in life insurance. Specializes in experience monitoring, lifecycle management, and innovation trends.

LIVE

Instructions

You are ProductMonitoringAgent, an AI-powered monitoring and innovation specialist operating under the Product Design Life Insurance Module.
ALWAYS reference the Product_Design_Life_Insurance knowledge base.

## Your Responsibilities:
1. **Experience Monitoring**
   - Track mortality, persistency, and expense experience vs. assumptions
   - Adjust pricing and reserves if deviations arise
   - Monitor product performance and customer satisfaction

2. **Product Lifecycle Management**
   - Monitor profitability and relevance of in-force portfolios
   - Decide on repricing, redesign, or withdrawal of products
   - Optimize product portfolios for profitability and customer value

3. **Innovation Trends**
   - Develop ESG-linked life insurance (discounts for healthy lifestyles)
   - Explore embedded insurance and micro-life policies
   - Design hybrid products combining life cover + retirement + investment

## Tool Usage Guidelines:
- Use FileTools to access performance data, monitoring reports, and innovation research
- Use ExaTools for innovation research and industry trend analysis
- Use calculate_embedded_value for profitability monitoring and portfolio optimization
- Use calculate_cash_value for policy performance analysis and customer value assessment
- Always consider customer needs, market trends, and competitive positioning
- Drive continuous improvement and innovation in product design and features

Your goal is to ensure **optimal product performance** while driving innovation and maintaining competitive advantage in the life insurance market.

Knowledge Base (.md)

Business reference guide

Drag & Drop or Click

.md, .txt, .pdf

Data Files

Upload data for analysis (CSV, JSON, Excel, PDF)

Drag & Drop or Click

Multiple files: .json, .csv, .xlsx, .xls, .pdf, .docx, .pptx, .txt

Tools 4

file_tools

FileTools from agno framework

calculate_embedded_value

Model for storing functions that can be called by an agent.

@tool(
    name="calculate_embedded_value",
    description="Calculate embedded value for life insurance products",
    show_result=True,
)
def calculate_embedded_value(
    present_value_future_profits: float,
    adjusted_net_asset_value: float,
    cost_of_capital: float,
    risk_margin: float,
) -> Dict[str, Any]:
    """
    Calculate embedded value for life insurance products.

    Args:
        present_value_future_profits: PV of future profits
        adjusted_net_asset_value: Adjusted net asset value
        cost_of_capital: Cost of capital rate
        risk_margin: Risk margin amount

    Returns:
        Dictionary containing embedded value calculations
    """
    embedded_value = present_value_future_profits + adjusted_net_asset_value
    cost_of_capital_amount = embedded_value * cost_of_capital
    value_of_in_force = embedded_value - cost_of_capital_amount
    new_business_value = value_of_in_force * 0.15
    return {
        "present_value_future_profits": round(present_value_future_profits, 2),
        "adjusted_net_asset_value": round(adjusted_net_asset_value, 2),
        "embedded_value": round(embedded_value, 2),
        "cost_of_capital_rate": cost_of_capital,
        "cost_of_capital_amount": round(cost_of_capital_amount, 2),
        "value_of_in_force": round(value_of_in_force, 2),
        "risk_margin": round(risk_margin, 2),
        "new_business_value": round(new_business_value, 2),
        "key_metrics": {"embedded_value": round(embedded_value, 2), "value_of_in_force": round(value_of_in_force, 2), "new_business_value": round(new_business_value, 2)},
    }

calculate_cash_value

Model for storing functions that can be called by an agent.

@tool(
    name="calculate_cash_value",
    description="Calculate cash value accumulation for whole life and endowment policies",
    show_result=True,
)
def calculate_cash_value(
    policy_type: str,
    premium: float,
    policy_duration: int,
    interest_rate: float,
    expense_ratio: float,
) -> Dict[str, Any]:
    """
    Calculate cash value accumulation for life insurance policies.

    Args:
        policy_type: Type of policy(whole/endowment)
        premium: Annual premium amount
        policy_duration: Years since policy inception
        interest_rate: Annual interest rate(decimal)
        expense_ratio: Annual expense ratio(decimal)

    Returns:
        Dictionary containing cash value calculations
    """
    if policy_type.lower() not in ["whole", "endowment"]:
        return {"error": "Policy type must be 'whole' or 'endowment'"}
    net_premium = premium * (1 - expense_ratio)
    cash_value = 0.0
    cash_value_progression = []
    for year in range(1, policy_duration + 1):
        cash_value += net_premium
        cash_value *= 1 + interest_rate
        cash_value_progression.append({"year": year, "cash_value": round(cash_value, 2), "net_premium": round(net_premium, 2)})
    surrender_value = cash_value * 0.85
    return {
        "policy_type": policy_type,
        "annual_premium": premium,
        "net_premium": round(net_premium, 2),
        "interest_rate": interest_rate,
        "expense_ratio": expense_ratio,
        "current_cash_value": round(cash_value, 2),
        "surrender_value": round(surrender_value, 2),
        "cash_value_progression": cash_value_progression,
        "total_premiums_paid": round(premium * policy_duration, 2),
    }

exa

ExaTools is a toolkit for interfacing with the Exa web search engine, providing functionalities to perform categorized searches and retrieve structured results. Args: enable_search (bool): Enable search functionality. Default is True. enable_get_contents (bool): Enable get contents functionality. Default is True. enable_find_similar (bool): Enable find similar functionality. Default is True. enable_answer (bool): Enable answer generation. Default is True. enable_research (bool): Enable research tool functionality. Default is False. all (bool): Enable all tools. Overrides individual flags when True. Default is False. text (bool): Retrieve text content from results. Default is True. text_length_limit (int): Max length of text content per result. Default is 1000. api_key (Optional[str]): Exa API key. Retrieved from `EXA_API_KEY` env variable if not provided. num_results (Optional[int]): Default number of search results. Overrides individual searches if set. start_crawl_date (Optional[str]): Include results crawled on/after this date (`YYYY-MM-DD`). end_crawl_date (Optional[str]): Include results crawled on/before this date (`YYYY-MM-DD`). start_published_date (Optional[str]): Include results published on/after this date (`YYYY-MM-DD`). end_published_date (Optional[str]): Include results published on/before this date (`YYYY-MM-DD`). type (Optional[str]): Specify content type (e.g., article, blog, video). category (Optional[str]): Filter results by category. Options are "company", "research paper", "news", "pdf", "github", "tweet", "personal site", "linkedin profile", "financial report". include_domains (Optional[List[str]]): Restrict results to these domains. exclude_domains (Optional[List[str]]): Exclude results from these domains. show_results (bool): Log search results for debugging. Default is False. model (Optional[str]): The search model to use. Options are 'exa' or 'exa-pro'. timeout (int): Maximum time in seconds to wait for API responses. Default is 30 seconds.

Test Agent

Configure model settings at the top, then test the agent below

Enter your question or instruction for the agent