diff --git a/src/main/java/io/ventureplatform/util/InvestmentRollup.java b/src/main/java/io/ventureplatform/util/InvestmentRollup.java
new file mode 100644
index 0000000..93314da
--- /dev/null
+++ b/src/main/java/io/ventureplatform/util/InvestmentRollup.java
@@ -0,0 +1,76 @@
+package io.ventureplatform.util;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Aggregates investment data across portfolio companies
+ * for dashboard rollups.
+ *
+ *
Used by reporting endpoints to compute category-level
+ * totals and rankings without round-tripping to the database
+ * for every aggregation.
+ */
+public final class InvestmentRollup {
+
+ private static final int DEFAULT_TOP_LIMIT = 100;
+
+ private InvestmentRollup() {
+ // utility class
+ }
+
+ /**
+ * Sum the total investment amount for portfolio companies
+ * matching the given category. Returns 0 if no matches.
+ */
+ public static long totalInvestmentByCategory(
+ final List