Competition 01 - TechVenture Investment Challenge

Management Science

Client Briefing: TechVenture Innovation Fund

Company Background

TechVenture Innovation Fund is a venture capital firm specializing in early-stage technology investments. Founded in 2018, the fund has successfully backed 23 startups with an average return of 32% per year. The partners pride themselves on data-driven decision making and sophisticated risk analysis.

Your Role: You’ve been hired as consultants to analyze their latest investment opportunity.

The Investment Opportunity

TechVenture has €2 million available for immediate deployment. After extensive due diligence, they’ve narrowed their options to four promising startups. Due to diversification requirements and partnership agreements, they must invest in exactly two startups, allocating €1 million to each.

The Four Candidates

1. CloudAI Solutions

  • Industry: Enterprise AI/SaaS
  • Product: AI-powered business intelligence platform
  • Market Size: €45B growing at 25% annually
  • Competition: Moderate (established players but room for innovation)
  • Return Distribution: Normal distribution
    • Mean return: 25% per year
    • Standard deviation: 15%
  • Key Risk: Technology adoption speed, enterprise sales cycles

2. GreenGrid Energy

  • Industry: Renewable Energy Technology
  • Product: Next-generation solar panel storage systems
  • Market Size: €30B growing at 18% annually
  • Competition: High (many players, commoditization risk)
  • Return Distribution: Normal distribution
    • Mean return: 18% per year
    • Standard deviation: 8%
  • Key Risk: Regulatory changes, commodity price fluctuations

3. HealthTrack Pro

  • Industry: Medical Devices / Wearables
  • Product: FDA-approved continuous health monitoring wearable
  • Market Size: €20B growing at 35% annually
  • Competition: Low (first-mover in specific medical conditions)
  • Return Distribution: Normal distribution
    • Mean return: 30% per year
    • Standard deviation: 25%
  • Key Risk: Regulatory approval delays, clinical trial outcomes

4. FinFlow

  • Industry: B2B Fintech
  • Product: Automated payment reconciliation for enterprises
  • Market Size: €15B growing at 20% annually
  • Competition: Moderate (fragmented market)
  • Return Distribution: Uniform distribution
    • Minimum return: 10% per year
    • Maximum return: 35% per year
  • Key Risk: Customer acquisition cost, banking partnerships

Success Metrics

The fund evaluates investments based on multiple criteria:

  1. Expected Total Return: The mean return across all scenarios
  2. Risk-Adjusted Return: Return relative to volatility
  3. Downside Protection: Probability of loss (return < 0%)
  4. Upside Potential: Probability of exceptional returns (>50% total)
  5. Worst-Case Scenario: Expected shortfall in bottom 10% of outcomes

Constraints and Requirements

  • Must select exactly 2 startups
  • Must invest €1 million in each selected startup
  • Cannot invest in more or fewer than 2 startups
  • Investment horizon is 1 year for this analysis
  • Assume startups’ returns are independent (no correlation)

The Challenge

Your Mission

Use Monte Carlo simulation to determine which pair of startups TechVenture should invest in. Your analysis should:

  1. Simulate at least 10,000 scenarios for each startup
  2. Evaluate all possible pairs (there are 6 combinations)
  3. Compare portfolios using multiple risk metrics
  4. Recommend the optimal investment pair
  5. Justify your recommendation with data

Evaluation Criteria

Your presentation will be evaluated on:

  • Correctness (50%): Accurate simulation and calculations
  • Business Reasoning (25%): Clear justification aligned with fund goals
  • Presentation (25%): Clear, professional one-slide summary

Time Limit

You have until next session to complete your analysis and prepare your presentation.

Data Access & Starter Code

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from itertools import combinations

# Set seed for consistency across teams (optional - you may change)
np.random.seed(42)

# Simulation parameters
n_simulations = 10_000
investment_per_startup = 1_000_000  # €1M each

# Startup return distributions (annual returns as decimals)
# Example: 0.25 = 25% return

# CloudAI: Normal(mean=25%, std=15%)
# GreenGrid: Normal(mean=18%, std=8%)
# HealthTrack: Normal(mean=30%, std=25%)
# FinFlow: Uniform(min=10%, max=35%)

print("Starter code loaded. Begin your analysis!")
print(f"Investment per startup: €{investment_per_startup:,}")
print(f"Number of simulations: {n_simulations:,}")
Starter code loaded. Begin your analysis!
Investment per startup: €1,000,000
Number of simulations: 10,000

Helpful Functions (Optional Use)

def calculate_portfolio_metrics(returns_1, returns_2, investment=1_000_000):
    """
    Calculate metrics for a portfolio of two startups

    Parameters:
    - returns_1: array of returns for startup 1 (as decimals, e.g., 0.25 for 25%)
    - returns_2: array of returns for startup 2
    - investment: amount invested in each startup

    Returns:
    - Dictionary with portfolio metrics
    """
    # Portfolio returns (equal weight)
    portfolio_returns = 0.5 * returns_1 + 0.5 * returns_2

    # Calculate absolute returns in euros
    absolute_returns = portfolio_returns * 2 * investment

    metrics = {
        'mean_return': portfolio_returns.mean(),
        'std_dev': portfolio_returns.std(),
        'prob_loss': (portfolio_returns < 0).mean(),
        'prob_high_return': (portfolio_returns > 0.5).mean(),
        'var_5': np.percentile(portfolio_returns, 5),
        'expected_profit': absolute_returns.mean()
    }

    return metrics

def expected_shortfall(returns, percentile=10):
    """
    Calculate the expected shortfall (conditional VaR)

    Parameters:
    - returns: array of returns
    - percentile: percentile for worst-case scenarios

    Returns:
    - Average return in the worst X% of scenarios
    """
    threshold = np.percentile(returns, percentile)
    worst_returns = returns[returns <= threshold]
    return worst_returns.mean() if len(worst_returns) > 0 else 0

# Example usage (delete or modify as needed):
print("Helper functions loaded and ready to use!")
Helper functions loaded and ready to use!

Submission Requirements

Required Deliverables

1. One-Slide Recommendation

Create one-slide (PDF) containing:

  • Recommendation: Which 2 startups to invest in (clearly stated)
  • Expected Return: Total expected return in € and %
  • Risk Assessment: Your personal risk assessment
  • Justification: 2-3 bullet points explaining why this pair
  • Visual: One chart comparing the 6 portfolio options (optional but recommended)

2. Presentation Preparation

Be ready to present your recommendation in 3 minutes:

  • 1 minute: State recommendation and key metrics
  • 1 minute: Explain your analysis approach
  • 1 minute: Justify why this is the best choice for TechVenture

Tips for Success

Strategy Suggestions

  1. Start Simple: Get one startup simulation working before scaling
  2. Verify Distributions: Plot histograms to check your simulations look correct
  3. Think Like an Investor: Consider both return AND risk
  4. Use Vectorization: NumPy operations are faster than loops
  5. Document Assumptions: Be clear about any choices you make

Common Pitfalls to Avoid

  • Don’t forget to convert percentages to decimals (25% = 0.25)
  • Remember you’re investing €2M total (€1M each in 2 startups)
  • Check that your uniform distribution is implemented correctly
  • Consider that high return often comes with high risk

Good Luck!