Automated Data Collection

Designing the system that lets investment teams request, track, and verify portfolio company data, without chasing anyone for it.

"A coordination problem disguised as a forms problem."

Company
Synaptic
Role
Sr. Product Designer
Type
Feature Design
Team
1 PM · 2 Engineers

Introduction

PortfolioIQ is an investment intelligence platform used by VC and PE firms to manage portfolio company relationships, track performance, and prepare for board meetings.

Data Collection lets investment teams build structured request templates, send them to portfolio companies on a recurring schedule, and have data automatically extracted into the platform the moment a company responds.

My challenge was the end-to-end experience: how analysts configure requests, how companies respond, and how a submission becomes something the investment team can actually trust. That last part was the real project. Getting a company to fill out a form was the easy 20%. Designing a system that could represent where every request actually stood, for two audiences who didn't share a mental model, was the other 80%.

Investor
Build request template
Define metrics, files, and questions to collect
System
Reach out to portco PoCs
Email with secure link and automated reminders
Portfolio company
Fill form or upload docs
Structured submission through the portal
System
Extract and map data
Metrics populated, documents parsed automatically
Result
Available on platform
Instantly visible to the full investment team

The Problem

Investment firms collect data from 20 to 200 portfolio companies every quarter. The metrics are always the same: MRR, ARR, headcount, burn rate, runway. The process for getting them is not.

Without a standard format, teams spend cycles manually chasing data that arrives in different formats every time. The result is real professional risk: analysts walking into board meetings with numbers they don't fully trust.

The deeper problem: two completely different user types sat on either side of every request, with no shared definition of "done."

Research

We spoke to investors and portfolio operators across Europe and the US, including in-person interviews at SuperReturns. The pain wasn't just anecdotal. It was structural. Every firm had built their own workaround: custom spreadsheets, email templates, manual reminders. None of it scaled.

"You have to ask portcos several times for different data in different places and they don't know where they have to do what. I think that's the most painful experience for the investment team."
Benjamin · Sofina
"We don't have any software that we are currently using to reach out to portfolio companies to collect data, nor do we have a good tool to put them into, where we can actually visualise data and put it all together."
MenloVC
"Our pain point was collecting data from companies. They seem to have the most advanced solution for that one specific problem."
Akochiashvili · Battery Ventures

Competitive Landscape

We mapped the tools investment firms were already using or evaluating. Every existing solution optimized for the investor side. None had a purpose-built, two-sided experience where portfolio companies could submit structured data through their own portal.

Screenshots of competing products: Cobalt, Saltwater, Vestberry, Quaestor, Carta
Cobalt, Saltwater, Vestberry, Quaestor, Carta — five products in the same space
VC Data Collection
Purpose-built for data requests. Strong on the investor configuration side — recurring requests, email sequences, data templates. The portco submission experience is basic and the status tracking stops at "sent."
Portfolio Monitoring
Clean monitoring dashboard with a data collection tab. Recurring and one-time requests are supported. Limited visibility into what happens after a request is sent — no per-company lifecycle, no verification state.
Portfolio Analytics
Strong on portfolio-level metrics and fund analytics. Data collection exists but the flow is investor-entered. No dedicated submission portal for portfolio companies — they don't touch the product.
Information Requests
Closest to a two-sided model. Shows per-company progress and completion percentages. But status is binary (completed / not started) and there's no distinction between "submitted" and "verified."
Equity & Cap Table
Equity-first platform that added data collection as a secondary feature. Request tracking exists but is built around document types, not structured metrics. No automated scheduling or reminder flow.
Default state · No tool
Spreadsheets + Email
The fallback for most firms. Flexible, but no scheduling, no reminders, no status visibility, no validation. Works for 10 companies. Breaks at 30. Fails silently at 100.
The gap
Every tool we evaluated was built for the investor reading the data, not the company providing it. None tracked beyond "sent." No solution gave portfolio companies a structured, low-friction way to submit — and no product distinguished between "responded" and "verified." That distinction was the design opportunity.

The investor and the company live in opposite mental models. The investor tracks a request as a scheduled event with a due date. The company sees it as one task among many from different investors, with no consistent process.

"Done" isn't a single moment. A company can submit and still not have delivered what the investor needs. Fields blank, documents missing, numbers out of range. "Responded" and "verified" are two different states, and the design had to make that distinction visible on both sides.

Personas

Two roles sat on either side of every request. They never saw the same screen, didn't share the same language, and had fundamentally different definitions of what the system was for.

GP / Analyst
Monitors the portfolio, prepares for board meetings, spots early warning signs across 30–150 companies every quarter.
Needs
Visibility into who's responded, what's missing, and what's been verified
Fears
Walking into a board meeting with incomplete or unverified data
Done when
Data verified and available in the platform
Portfolio Company Founder / CFO
Runs the company while reporting to multiple investors on overlapping schedules — often receiving several requests in the same week.
Needs
To complete this as fast as possible and get back to work
Fears
Filling the wrong thing, in the wrong place, for the wrong period
Done when
Form submitted, confirmation received

Strategy

The core insight: this isn't a data problem. It's a coordination problem. The data exists. The issue is there's no shared process for how it gets requested, submitted, and verified. We needed to design that process, and make it simple enough that both sides would actually use it.

Five decisions shaped what we built.

01

Investor-owned templates, not fixed forms

Different firms track different metrics. The builder needed to be flexible enough to accommodate that, but structured enough that submissions could be automatically mapped into the platform. The investor defines the template once, and it runs indefinitely.

02

Scheduled delivery, not manual sends

If sending required manual initiation every cycle, it wouldn't happen consistently. The system handles scheduling, reminders, and follow-ups automatically. The investor sets it once; the cycle runs itself.

03

Simple submission for the company side

Portfolio companies report to multiple investors simultaneously. Any friction in the submission would result in incomplete data. The company experience had to be fast, clear, and low-effort: one link, no login, the form pre-filled with the prior period's data.

04

A status model that tells the truth

Early versions treated "responded" as the final state. But a response isn't the same as a verified submission. We modelled 10 distinct states: draft, scheduled, sent, delivered, opened, responded, verified, closed, plus resent and failed as branch paths, so the investor always knows exactly where each company stands.

Status examples: Draft Sent Opened Verified Overdue

05

Spreadsheet-native navigation across periods

Investors already think in spreadsheets. The tracking view uses companies on rows, periods as tabs. Switching quarters doesn't reload the interface, just the data. The prior period column stays visible during submission so companies can reference last quarter without opening a separate file.

Draft Scheduled Sent Resent Delivered Opened Responded Verified Closed Failed Main path → Branch paths - - - 10 states
RequestEntity lifecycle. Every request-company pair moves through this state graph independently. Resent fires automatically if no open is detected N days after send. Failed is a terminal state that surfaces to the investor with a reason code.

How It Works

The system is a three-step request builder for investors, a structured submission portal for portfolio companies, and a live tracking view that updates as responses come in.

Data Collection: overview of all active requests with status
All active data collection requests, with per-request status and period
01

Define the request schedule

The investor names the request, sets the frequency (monthly, quarterly, yearly), defines send and due dates relative to the period end, and selects companies. The system handles delivery and reminders from there.

Step 1: Define request name, frequency, send date, and portfolio companies
Step 1 · Request schedule: name, frequency, send date, due date, company selection
02

Configure metrics, files, and questions

The investor selects metrics, documents (board deck, cap table, forecasts), and optional free-form questions. Everything is drawn from a standard library or defined custom.

Step 2: Selecting metrics from the standard library
Selecting metrics from the standard library
Step 2: Metrics, files, and questions fully configured
Metrics, file requests, and questions configured
03

Set up the email template and reminders

The outgoing email is editable with dynamic variables (company name, due date, period). Automated reminders fire before the deadline, so no one on the investment team has to follow up manually.

Step 3: Email template with dynamic variables and reminder schedule
Step 3 · Email template with dynamic variables and automated reminder timing

Company Side

Companies receive a secure link by email, no account required. They see all pending investor requests in one place and fill in metrics or upload files directly in the form.

Portfolio company: inbox showing all pending investor requests
Company inbox: all pending investor requests across firms
Portfolio company: filling in the metrics form with prior period visible
Submission form with prior period column visible for reference
Investor: reviewing a submitted response before marking it verified
Investor response review: submitted values flagged for verification before closing

Key Design Decisions

Several decisions shaped the final design in ways that weren't obvious at the start.

01

A 3-step wizard, not a single long form

Configuration spans schedule, content, and communication. One scrollable form felt overwhelming in testing. Three focused steps, each with a single job, reduced configuration errors and improved completion rates. Steps are non-destructive, so analysts can revise before saving.

02

Status at the company level, not the request level

Early versions showed a single completion percentage. Analysts need to know which specific companies haven't responded, not an aggregate. The tracking view surfaces per-company status with fill rate inline. The 10-state model made this possible; a binary "pending / complete" would have hidden too much.

03

Prior period data visible during submission

Companies naturally reference last quarter when filling in new data. Showing the prior period column greyed out in the metrics table let them work faster with fewer errors. The tension was density: too much context clutters the form. The solution was to show only the single most recent period.

04

Multiple recipients per company, one submission

In practice, companies split responses across roles: the CFO handles financials, the CEO writes the qualitative update. We added multiple recipients per company, but kept one shared submission form. Anyone can update any section; the last-saved state is what gets submitted. This significantly reduced incomplete submissions in early testing.

Quarterly Updates: per-company status tracking across all periods

Outcome

Investment teams moved from email chains to a structured, scheduled pipeline. Analysts could see exactly who had responded, what was pending, and where data was incomplete, without a single manual follow-up.

For portfolio companies, fragmented email threads were replaced with one structured form per cycle. Companies knew what was expected and could complete their submission in one session.

Company profile: metrics tab showing time-series data after verified submissions are propagated
Metrics tab: verified submission data populated into the company profile over time
Faster reporting prep for investment teams
40–60%
Reduction in manual follow-up workload per cycle
30–50%
Improvement in on-time response rate from portfolio companies
10
Distinct lifecycle states, more than any competitor tracked

Retrospective

The hardest part was designing for two distinct user types with opposite contexts: the investor configures once and monitors many; the portfolio company responds to many investors every quarter. The same workflow had to feel completely different depending on who was using it.

If I were doing this again, I'd run dedicated testing with portfolio company operators earlier. Most early research was investor-facing, which shaped the configuration experience well but left us iterating the submission portal longer than needed.

Several pieces were deliberately left out of scope to ship a working system:

What's Next

The verified-to-records bridge is the highest-priority next step: automatically propagating verified metrics into the company profile. This closes the gap between "data collected" and "data available."

Beyond that, the platform's AI extraction layer, which already parses uploaded documents to auto-fill metric fields, is the natural next surface to extend. The request form knows what's expected; the document knows what it contains. Closing that gap automatically is where the biggest time savings still live.

NEXT PROJECT
Chat-AI →

This project is protected