FutureSearch Logofuturesearch
  • Solutions
  • Pricing
  • Research
  • Docs
  • Evals
  • Blog
  • Company
  • Try it for free
FutureSearch Logo

General inquiry? You can reach us at hello@futuresearch.ai.

Company

Team & CareersPressPrivacy PolicyTerms of Service

Developers

SDK DocsAPI ReferenceCase StudiesGitHubSupport

Integrations

Claude CodeCursorChatGPT CodexClaude.ai

Follow Us

X (Twitter)@dschwarz26LinkedIn
FutureSearchdocs
Your research team
Installation
  • All install methods
  • Claude.ai
  • Claude Code
  • Web App
  • Python SDK
  • Skill
Reference
  • API Key
  • classify
  • dedupe
  • forecast
  • merge
  • rank
  • agent_map
  • MCP Server
  • Progress Monitoring
  • Chaining Operations
Guides
  • LLM-Powered Data Labeling
  • Add a Column via Web Research
  • Classify and Label Rows
  • Deduplicate Training Data
  • Error Handling
  • Filter a Dataset Intelligently
  • Find Profitable Prediction Market Trades
  • Forecast Outcomes for a List of Entities
  • Value a Private Company
  • Join Tables Without Shared Keys
  • Rank Data by External Metrics
  • Resolve Duplicate Entities
  • Scale Deduplication to 20K Rows
  • Turn Claude into an Accurate Forecaster
Case Studies
  • Deduplicate Contact Lists
  • Deduplicate CRM Records
  • Enrich Contacts with Company Data
  • Forecast a Sum-of-the-Parts SpaceX IPO Valuation
  • Forecast Anthropic and OpenAI IPO Valuations
  • Forecast Founder Seed Valuations for AI Researchers
  • Forecast When Anthropic and OpenAI Will IPO
  • Fuzzy Match Across Tables
  • Link Records Across Medical Datasets
  • LLM Cost vs. Accuracy
  • Merge Costs and Speed
  • Merge Thousands of Records
  • Multi-Stage Lead Qualification
  • Research and Rank Web Data
  • Run 10,000 LLM Web Research Agents
  • Score Cold Leads via Web Research
  • Score Leads from Fragmented Data
  • Screen 10,000 Rows
  • Screen Job Listings
  • Screen Stocks by Economic Sensitivity
  • Screen Stocks by Investment Thesis
FutureSearchby futuresearch
by futuresearch

Value a Private Company

Build a sum-of-the-parts valuation for a private company by forecasting each business segment separately, then summing. Each segment becomes one row, each row gets its own research agent and percentile distribution, and the totals fall out of arithmetic on the medians.

The pattern: identify the segments, write one short question per segment, and forecast them all in a single numeric call.

Add FutureSearch to Claude Code if you haven't already:

claude mcp add futuresearch --scope project --transport http https://mcp.futuresearch.ai/mcp

Tell Claude what to value:

Acme Industries is filing for IPO. Break it into its three business
segments and forecast the fair market value of each in billions USD:
the consumer hardware line, the cloud subscription business, and the
licensed-IP / patents portfolio.

Claude calls futuresearch_forecast in numeric mode, one row per segment:

Tool: futuresearch_forecast
├─ data: [{"question": "What is the fair value of Acme Consumer Hardware?", ...},
│         {"question": "What is the fair value of Acme Cloud?", ...},
│         {"question": "What is the fair value of Acme IP / Licensing?", ...}]
├─ forecast_type: "numeric"
├─ output_field: "fair_value"
├─ units: "billions USD"
└─ context: "Estimate standalone fair market equity value as of the planned IPO date."

→ Submitted: 3 rows for numeric percentile forecasting.

Tool: futuresearch_progress
→ Completed: 3/3 (0 failed) in 220s.

Tool: futuresearch_results
→ Saved 3 rows with fair_value_p10 through fair_value_p90 columns.

Then ask Claude to sum the medians, adjust for cash and debt, and compare to the IPO target.

Add the FutureSearch connector if you haven't already. Then ask Claude:

Acme Industries is filing for IPO. Break it into its three business segments and forecast the fair market value of each in billions USD.

Go to futuresearch.ai/app and enter:

Acme Industries is filing for IPO. Break it into its three business segments and forecast the fair market value of each in billions USD. Then sum the parts and compare to the IPO price.

pip install futuresearch
export FUTURESEARCH_API_KEY=your_key_here  # Get one at futuresearch.ai/app/api-key
import asyncio
import pandas as pd
from futuresearch.ops import forecast

segments = pd.DataFrame([
    {
        "question": "What is the fair market equity value of Acme Consumer Hardware?",
        "background": "Annual hardware revenue ~$8B at ~25% gross margin. Mature product line.",
    },
    {
        "question": "What is the fair market equity value of Acme Cloud?",
        "background": "~$2B ARR, growing 60% YoY. Subscription / SaaS model.",
    },
    {
        "question": "What is the fair market equity value of Acme IP / Licensing?",
        "background": "~$400M annual royalty stream, weighted-average remaining patent life ~9 years.",
    },
])

async def main():
    result = await forecast(
        input=segments,
        forecast_type="numeric",
        output_field="fair_value",
        units="billions USD",
        context="Estimate standalone fair market equity value as of the planned IPO date.",
    )

    df = result.data
    sotp_median = df["fair_value_p50"].sum()
    cash_minus_debt = 1.5 - 4.0  # $1.5B cash, $4B debt
    equity_value = sotp_median + cash_minus_debt
    ipo_target = 60  # $60B target

    print(f"SOTP segment total: ${sotp_median:.0f}B")
    print(f"Equity value:       ${equity_value:.0f}B")
    print(f"IPO target:         ${ipo_target}B")
    print(f"Premium:            {(ipo_target / equity_value - 1) * 100:.0f}%")

asyncio.run(main())

The output adds {output_field}_p10 through {output_field}_p90 (float, monotonically non-decreasing), units, and rationale to each row.

Effort. Batches default to LOW effort (~$0.09 to $0.20 per segment). For a small number of segments where you want more accuracy per row, set effort_level="HIGH" for about $1.20 per row.

result = await forecast(
    input=segments,
    forecast_type="numeric",
    output_field="fair_value",
    units="billions USD",
    effort_level="HIGH",
)

A correlated-upside check: the sum of medians underestimates the price the market will pay if investors are simultaneously bullish on every segment. Take the 75th percentile across all segments and re-sum to see the optimistic case.

sotp_p75 = df["fair_value_p75"].sum() + cash_minus_debt
print(f"Optimistic (p75 across all segments): ${sotp_p75:.0f}B")

For a worked end-to-end example with seven segments and a real $1.75T IPO, see Forecast a Sum-of-the-Parts SpaceX IPO Valuation and the long-form analysis at A $1.75 Trillion IPO Would Be Overpaying 30% for SpaceX.


Built with FutureSearch. See the forecast documentation for all parameters and output formats. Related guides: Turn Claude into an Accurate Forecaster, Find Profitable Prediction Market Trades, Forecast Outcomes for a List of Entities.