MUFG grew through acquisitions over 12 years. Each acquisition brought its own portfolio accounting system. Today they run 4-6 independent systems that don't talk to each other:
| System | What it does | Fund types |
|---|---|---|
| Geneva | Portfolio accounting — trades, positions, NAV, GL | Hedge funds, liquid strategies |
| Investran | Partnership accounting — capital calls, waterfalls, IRR | Private equity, private credit |
| Yardi | Real estate fund accounting | Real estate |
| Century | Debt servicing | Private credit |
| Mantra | Transfer agency — investor records | All |
The same investor might have money in a hedge fund (Geneva), a PE fund (Investran), and a real estate fund (Yardi). Nobody at MUFG can produce a single page showing that investor everything they have. Today, stitching data across systems is done via brittle ETL scripts + manual Excel reconciliation by ops teams. It takes days, not seconds.
Ranked by how urgently they raised each need in the discovery call:
Build connectors for Geneva (REST API + RSL query language) and Investran (Data Exchange portal + file exports). Both are SS&C products with documented but locked-down integration points.
| System | Integration method | Build estimate |
|---|---|---|
| Geneva | REST API (documented), SFTP fallback | 2-3 weeks |
| Investran | Data Exchange API, file export fallback | 2-3 weeks |
| Yardi / Century / Mantra | TBD — need Brian's system specs | 2-3 weeks each |
Connectors are the easy part. We've built connectors for Snowflake, Databricks, SQL databases, SharePoint. The pattern is the same — the system-specific schema mapping is the variable.
Risk: MUFG IT security provisioning could delay API access by 3-4 weeks. Mitigation: build SFTP fallback, negotiate data access SLA in contract.
The core engineering challenge: the same investor appears in Geneva as GNV-INV-4401 / "Meridian Capital Partners LLC" and in Investran as INV-LP-00882 / "Meridian Capital Partners". Different IDs, slightly different names, different email aliases, tax ID formatted differently.
No SQL JOIN solves this. No ETL vendor solves this. This requires probabilistic entity matching:
| Match signal | Confidence weight |
|---|---|
| Tax ID (normalized format) | 95% if match |
| Fuzzy name similarity | 80% |
| Email domain match | 70% |
| Address similarity | 60% |
| Combined weighted score | Accept / Review / Reject |
At 2,500-3,000 portfolios with non-uniform fund structures, this is an ML problem requiring training data and iteration — not a mapping spreadsheet.
This is our differentiation. Consultancies ship lookup tables. ETL vendors ship schema normalization. We ship probabilistic resolution with confidence scores and audit trails.
Geneva and Investran use fundamentally different accounting models:
| Concept | Geneva (hedge fund) | Investran (PE) | Challenge |
|---|---|---|---|
| Investor's value | capital_balance (shares x NAV) | NAV (commitment - uncalled + unrealized) | Different calculation methods |
| Returns | YTD return (time-weighted %) | IRR (money-weighted %) | Not comparable — must show both |
| Fees | Mgmt fee (monthly accrual) | Mgmt fee (per capital call) | Different timing, same concept |
| Holdings | ISIN/CUSIP (public securities) | Portfolio company name (private) | No shared identifier |
| Sectors | Bloomberg GICS | Fund manager's custom taxonomy | Must build master mapping |
| GL entries | Per-trade (buy/sell securities) | Per-event (capital call/distribution) | Incompatible — use cash flows as common denominator |
| Freshness | Real-time (daily NAV) | Quarterly (appraised valuations) | Never silently blend stale + fresh numbers |
| Precision | 4 decimal places, Bloomberg FX | 2 decimal places, admin FX rate | $100M x 0.0001 rounding = $10K discrepancy |
Once entities are resolved and concepts mapped, we build the knowledge graph: a metadata layer that sits on top of all source databases. Entity nodes (investors, funds, securities) are linked with relationship edges and confidence scores.
On top of this: a natural language query interface. An investor types "What's my total exposure across all funds?" and the system routes the query to the right source systems, applies the right concept mappings, and returns a unified result.
Also required: audit/lineage trail. Every number traces back to source system, record ID, and timestamp. Non-negotiable for a regulated fund administrator.
VPC deployment in their AWS account. All LLM inference through their Bedrock. No data exits their environment. We've done this at D1 Capital (AWS), Analog Century (Azure), and Kotak IB (AWS private subnets).
Known friction: at regulated institutions, provisioning (SSO, networking, security review) takes 4-8 weeks. Must start this track on Day 1, parallel to engineering.
| Factor | Standard POC | MUFG POC |
|---|---|---|
| Scope | Document search over existing data types | New data type: structured portfolio accounting systems |
| Connectors | Existing (Snowflake, SharePoint, etc.) | Built from scratch (Geneva, Investran) |
| Core capability | Query + retrieval (existing product) | Entity resolution + concept mapping (new capability) |
| Deployment | Sometimes SaaS | VPC mandatory (AWS + Bedrock) |
| Complexity multiplier | 1x | 1.5-2x |
Additionally: MUFG is a top-5 global fund admin. A $75K POC from a 25-person company signals "pilot project." $150K signals "platform evaluation." The buyer's perception of our seriousness scales with the price point.
Don't lower the number. Restructure the scope:
"$100K for Geneva only, 200 portfolios — no cross-system entity resolution. $150K for both systems, 400 portfolios — the actual proof that unification works. Which do you need to see to make a Phase 2 decision?"
Price becomes a function of scope, not a negotiation about margin.
| Phase | Timeline | Revenue |
|---|---|---|
| POC | 8 weeks | $150K (credited to Phase 2) |
| Foundation (all 6 systems, full scale) | Months 3-7 | $400-500K + licensing starts |
| Self-Serve (investor portal, RBAC) | Months 8-12 | $300-400K |
| Intelligence (anomaly detection, monitoring) | Months 12-16 | Scoped later |
| Annual platform license | Ongoing | $500K-1.2M/yr |
| Total 18-month value | $2-3M |
Platform license is portfolio-based: $200-400 per portfolio per year at 2,500-3,000 portfolios. This is a company-defining deal for a 25-person firm.
Each layer builds on the previous. If Layer 1 fails, we know by week 4 — not week 8.
| Metric | Target |
|---|---|
| Entity resolution precision | ≥90% on MUFG-provided ground truth |
| Query accuracy | Correct on ≥80% of 10-15 pre-defined test queries |
| Deployment | Running in MUFG's AWS VPC on their Bedrock |
| Latency | Structured <5s, NLP <15s |
| Cash flow reconciliation | Balances within ±0.01% for ≥95% of matched entities |
| Phase | What | When | Gate |
|---|---|---|---|
| Foundation | Expand to all 6 systems, full 2,500+ portfolios. Continuous entity resolution. Reconciliation alerts replace manual Excel. | Months 3-7 | POC passes success criteria |
| Self-Serve | Investor portal/API. Per-investor permissions. NLP for end clients. Audit trail + SSO. | Months 8-12 | All systems connected + 2 clean reporting cycles |
| Intelligence | Anomaly detection, cross-client benchmarking, autonomous monitoring. | Months 12-16 | 50+ investors active, <1% error rate |
Staffing ramp: POC (3 people) → Foundation (5-6) → Self-Serve (7-8).
| Risk | Mitigation |
|---|---|
| High API access delayed 3-4 weeks by IT security | SFTP file export fallback. Data access SLA in contract: timeline shifts if no access by Day 10. Named IT contact with Day 5 deadline. |
| Medium Entity resolution accuracy <90% | Confidence scores still add value: "847 confident, 43 for review" beats manual. Define target with MUFG's own ground truth data. |
| High MUFG team too busy to support POC | Require one named technical contact (30% allocation) + one ops domain expert. In writing before start. |
| High Data messier than expected | Request anonymized sample exports BEFORE signing. 50 portfolios. Single most important pre-POC activity. |
| Internal Product expansion vs. services project | Must decide before POC: build Geneva/Investran connectors as reusable platform capability (fund admin vertical) or one-off? Recommendation: platform. |
| # | Action | Owner | By when |
|---|---|---|---|
| 1 | Send Brian structured questionnaire (system list + sample data + top reconciliation failures) | Vibhav | 48 hours |
| 2 | Internal decision: product investment or services? | Mithun + eng lead | Before next MUFG call |
| 3 | Schedule 45-min technical pre-call with Evangelos (no slides, bring graph schema + entity resolution approach) | Vibhav | Within 1 week |
| 4 | Identify engineer: strong on data modeling + graph DBs, comfortable with skeptical CTO | Mithun | Within 1 week |
| 5 | Build mini entity resolution demo on real schemas once sample data arrives | Engineering | 1 week after data |
| 6 | Prepare POC proposal (scope, timeline, pricing, success criteria) | Mithun | After technical pre-call |