Skip to main content
Data analysis agents process data, identify patterns, and provide actionable insights.

Quick Start

from praisonaiagents import Agent

# Data analysis agent
analyst = Agent(
    name="DataAnalyst",
    instructions="Analyze data and provide clear insights with recommendations"
)

# Analyze sales data
analyst.start("""
Analyze this sales data:
- January: $12,500
- February: $13,200
- March: $15,800
- April: $14,300
- May: $16,700
- June: $18,900

What's the trend? What recommendations do you have?
""")

Analysis Types

Sales Analysis

Trends, forecasts, performance

Customer Analysis

Segments, behavior, satisfaction

Market Analysis

Competition, trends, opportunities

Financial Analysis

Revenue, costs, profitability

With Calculation Tools

from praisonaiagents import Agent

def calculate_stats(numbers: str) -> str:
    """Calculate statistics from comma-separated numbers"""
    data = [float(x.strip()) for x in numbers.split(',')]
    return f"""
    Count: {len(data)}
    Sum: {sum(data)}
    Average: {sum(data)/len(data):.2f}
    Min: {min(data)}
    Max: {max(data)}
    """

analyst = Agent(
    name="DataAnalyst",
    instructions="Analyze data using available tools",
    tools=[calculate_stats]
)

analyst.start("Calculate stats for: 12500, 13200, 15800, 14300, 16700, 18900")

Complete Example

from praisonaiagents import Agent

# Data analyst with structured output
analyst = Agent(
    name="DataAnalyst",
    instructions="""You analyze data and provide insights.

Format your response as:
## Summary
Brief overview of findings

## Key Metrics
- Metric 1
- Metric 2

## Trends
What patterns do you see?

## Recommendations
What actions should be taken?"""
)

analyst.start("""
Analyze this customer data:

Age Groups:
- 18-24: 15% (Avg purchase: $45)
- 25-34: 32% (Avg purchase: $78)
- 35-44: 28% (Avg purchase: $92)
- 45-54: 18% (Avg purchase: $85)
- 55+: 7% (Avg purchase: $65)

Satisfaction:
- Very Satisfied: 42%
- Satisfied: 35%
- Neutral: 15%
- Dissatisfied: 8%
""")

Multi-Agent Analysis

from praisonaiagents import Agent, AgentTeam

# Data processor
processor = Agent(
    name="DataProcessor",
    instructions="Clean and organize data for analysis"
)

# Analyst
analyst = Agent(
    name="Analyst",
    instructions="Analyze data and find patterns"
)

# Reporter
reporter = Agent(
    name="Reporter",
    instructions="Create clear reports from analysis"
)

team = AgentTeam(
    agents=[processor, analyst, reporter],
    process="sequential"
)

team.start("Analyze quarterly sales performance")

Best Practices

Tell the agent what the data represents
“What’s the trend?” is better than “Analyze this”
Ask for organized output with sections
Provide benchmarks or previous periods

Next: Customer Support Agents

Learn how to build agents that handle customer inquiries.