Professional Documents
Culture Documents
Version : 4.3
WFE
Functional Design Document
Created by
Palaniappan Rajaram
ThoughtFocus Technologies
WFE - Functional Design Document
Version : 4.3
Change Control
REVISION DATE AUTHOR SECTIONS/PAGES
AFFECTED
REMARKS
Page 2 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 3 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Table of Content
1 INTRODUCTION....................................................................................................7
1.1 Purpose...................................................................................................................... 7
1.2 Scope......................................................................................................................... 7
2 FUNCTIONAL SPECIFICATION...........................................................................9
Page 4 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 5 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
2.10 Reporting................................................................................................................. 50
2.11 Projection and Scenario (requirements pending – delayed to later iterations). .52
4.3 Waterfall Group, Waterfall Definition, Waterfall Bucket and Tier Formula..........56
5 NON-FUNCTIONAL REQUIREMENTS..............................................................59
6 OUT OF SCOPE..................................................................................................60
Page 6 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
1 INTRODUCTION
WFE is a system intended to implement a Private Equity style Waterfall calculation engine to
support the various funds administered by KKR. The Architecture is aimed at designing this
engine as a service to support the funds housed in Investran, Aexeo and Yardi accounting
platforms.
The core of the system will be a Waterfall Engine that consumes the cash flows from the
accounting system, performs the Waterfall calculation per the rules setup by the user and
produces data to be returned to the accounting system. The system will allow the user to
setup the various formulae involved in the calculation. Further, the system will be
independent of the accounting structure used in the source GL systems.
1.1 Purpose
The purpose of this document is to explain the design of the system to the business
users and to provide a basis for the technical design and development activities. The
document also discusses the interface points between WFE and the other systems
on which it depends ex. Authorization & Authentication providers, data exchange
between the GL systems and WFE e tc.
1.2 Scope
The scope of this document is restricted to the business components involved in and
the behavior of the system. Topics related to the implementation will be covered in
the Technical Architecture and the Technical Design documents.
Page 7 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Acronyms Abbreviations
ALP Affiliated Limited Partner
DD Drawdown
DIU Data Import Utility
GL General Ledger
GP General Partner
HAERVEST Hurdle Allocation AExeo Reporting and
diVEstment Scenario modeling Tool
HDP WFE Data Point
HDS WFE Data Specification
IRR Internal Rate of Return
JE Journal Entry
LP Limited Partner
LPA Limited Partner Agreement
MFee Management Fees
OrgFee Organization Fee or Expenses
PE Private Equity
Pref Calc / Pref Return Preferred Return Calculation
RE Real Estate
ROC Return of Capital
SDK Software Development Kit
UI User Interface
ULP Unaffiliated Limited Partner
WFB Waterfall Bucket
WFD Waterfall Definition
WFE Waterfall Engine
WFG Waterfall Group
Application Summary
Aexeo Aexeo is the Fund accounting system used for the Hedge funds and
Hybrid funds (Hedge funds with a more Private Equity fund like
structure)
Axi Axi is a sister system to Aexeo which handles the Partner accounting
for the funds in Aexeo. For some of the Hybrid funds, the Partner
accounting is performed in Investran.
Yardi The Real Estate funds are housed in Yardi which provides both Fund
and Partner accounting.
Excel & Transactions of some of the older funds are still maintained in Excel
MS Access and/or MS Access. In some cases, the newer transactions of these
funds are maintained in Investran. If these funds need to use
Haervest, they will have to be migrated to one of the 3 GL systems
identified earlier.
Investran Investran is a General Ledger accounting system which is used to
manage Fund and Partner accounting for the Private Equity funds.
Excel Currently, Excel macro based waterfall model is being used by KKR
Waterfall to perform the Waterfall calculations for the various funds. Data from
Page 8 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Model the 3 GL systems are imported into these models before the Waterfall
is executed.
Page 9 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
2 FUNCTIONAL SPECIFICATION
2.1 WFE Functionality Summary
The WFE system will allow the user to setup a fund i.e. specify the Waterfall
calculation rules to be used for the various investors, run & review the Waterfall
calculations for the realized and unrealized events and provide mapping for data
exchange between the accounting system and Haervest.
User will be able to review the Waterfall calculations on-screen as well as through a
basic set of reports.
In the initial phases, the WFE system is intended to be used by the Fund
Accountants, Controllers and Executives internal to KKR but in the future, the system
may be available for external users such as the Client and the Client’s
representatives. Each user’s level of access to a fund will be controlled through a well
defined authorization model which will be configured by the administrative users at
KKR.
The existing funds will be on boarded in a staggered manner in the following order:
Phase 1: Investran
Phase 2: Yardi & Aexeo
For each datum, WFE will need an unique ID and a name (and other attributes as
applicable). Since each source GL system may house the clients’ funds on multiple
databases, these IDs may not be unique within a client or across clients. To resolve
this, any data sent from the source systems will need to be accompanied by an
unique ID that represents the source, in addition to the ID of the datum itself.
2.2.1.1 Client
A Client is an entity which has one or more of its funds administered by KKR. For
example, Blackstone is a client which has BREPV & BRESS as funds.
Page 10 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Investran doesn’t have the Client data point. New UDF field called Client shall be
added under the Legal Entity, which shall have drop down with list of Client with
Client ID. WFE shall receive the Client and Client ID from Investran.
Investran doesn’t have the Fund Family data point. New UDF field called Fund Family
shall be added under the Legal Entity, which shall have drop down with list of Fund
Family with Fund Family ID. WFE shall receive the Fund Family and Fund Family ID
from Investran.
2.2.1.7 Deal
Fund makes an Investment into a portfolio company, which is called as Deal.
2.2.1.8 Position
Each slice of an investment within same deal is called as Position/Tranche/Lot.
Investment in a Deal may happen in different times, where in each investment is
called Position.
Page 11 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Any investment tagged with Tax Lot, WFE shall enforce to have the Tax Lot in the
Distribution of the same Investment.
Page 12 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Position ID
Position Name
Position Short Name Optional
Lot ID Optional
Lot Name Optional
Lot Short Name Optional
Partner Properties:
UDF Field Name Description
Waterfall Group This UDF, associated with a Specific Investor,
categorizes the SIs into groups of investors with
similar Waterfall structure.
Pref Rate Percentage
GP Catchup Percentage
GP Total Promote Percentage
Mfee - Investment Period Percentage
Mfee - Post Investment Period
Percentage
Page 13 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
In Investran transactions are booked as Batch and one batch per Legal Entity, which
means we cannot have more than one Legal Entity associated with one Batch.
Below are the screen shots from Investran, which shows Investran’s Batch:
Page 14 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
-Grid Continuation
2.2.2.1 Batch
Any transaction against a Legal Entity is booked as a Batch in Investran. One Batch
can have multiple Journal entries.
One Batch may have one or more business events. Ex. Investment and Income
Page 15 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
2.2.2.4 Transactions
Transaction booked against a GL Account. Transaction has Deal, Position, Effective
Date, Credit, and Debit and investor allocation rule. A transaction shall be part of one
JE.
Page 16 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 17 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
In Haervest, both the Memo and the Active categories will be mapped to the same
Waterfall Bucket.
Page 18 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Waterfall Group ID
Legal Entity ID
Common Investor ID
Specific Investor ID
Deal ID
Security ID
CUSIP
Issuer ID
Position ID
Lot ID
GL Account ID
BatchId
BatchType
Batch Status
GL Date
Effective Date
Trans Type ID
Trans Type
JE Index
JE Type
Amount
Changed Date Time
User Access data addressed in section Source System User Access Data
Static data shall be pushed to WFE database immediately. Source system shall filter
and send only the user, who may need to access WFE application.
Page 19 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Specifically in Investran, transactions are stored with different types of status, which is
Draft, Held or Posted status. WFE shall receive only Held and Posted status
transactions. Other source system
There needs to be a mechanism to send only the new set of records. It should not
send the records, which is already there in Haervest.
Any change in the static data shall be handled separately and pushed to WFE
immediately, where in transactional data changes shall be pushed to WFE as part of
data push Job.
Each source system shall implement a service which allows WFE to query for a
user’s permissions on the source system. If the user is permitted entry into Haervest,
the query result will be persisted in the web session until the user logs out of
Haervest. WFE will not be aware of any changes to the user’s permissions in the
source system until the user logs out of WFE and attempts to login again.
New UDF field called “PushToHarvest” shall be added to Legal Entity. Any static data
associated with the Legal Entity, which has “PushToHaervest” flag enabled shall be
pushed to Haervest.
Note: UDF field concept is related to Investran. Similar settings must be done in other
source system as well.
Entity Mapping:
Entity mapping information also needs to be pushed from source system to
Haervest. Ex. Common Investor to Specific Investor, Legal Entity to Specific Investor,
Deal to Legal Entity
Page 20 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Changes:
Every time entity data updated in the source system, WFE will maintain the
version along with the effective date. So this will allow us getting the entity data
based on the effective date any time.
Change in the mapping: Is it possible to change the mapping between entities in the
source system? If it happens in the source system, same needs to be reflected in
WFE along with the Effective Date. This can be done only, if there is no transactional
data associated for the relation. This kind of change needs go through an approval
process.
Deletion:
In WFE data will not be deleted physically, instead it will be flagged as
deleted. Only those entities, which don’t have any transaction associated, can be
deleted. In the case of entity data getting deleted from source system, which has
transaction associated needs to go through an approval process. This will be notified
to the respective Fund Account Manager and the action needs to be taken by them.
Upon their approval entity data and the transaction associated will be deleted.
WFE Stack Manager shall show only those transactions, which is mapped to a
Waterfall Bucket and Event Type.
Page 21 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Source system shall provide the valuation for all the deals in the Fund Family for
each Legal Entity. Based on the valuation information, WFE shall calculate the
unrealized carry numbers.
The Specific Investors in a Waterfall Group for a given Waterfall Type are expected to
have the same Waterfall calculation structure in terms of the number & types of the
tiers.
The following diagram explains the relationship between the Waterfall Group, the
Specific Investor, the Common Investor and the Legal Entity:
Page 22 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Proceeds
Return of Capital (ROC)
Management Fee Giveback
Organization Fee Giveback
Drawdown for Expenses Giveback
Recoup Loss
Preferred Return
Catch-up
Full Promote
Waterfall Distribution will be done based on the Waterfall Tier order. Distribution
starts with the first tier and once the tier target is met, then the next tier calculation
starts. Process goes all the way until the distribution amount is distributed 100%.
User shall be able to indicate whether the target paid is a single number or also
tracked at the Deal / Position / Tax Lot level.
Page 23 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Waterfall calculation starts with Proceeds. User shall not be able to change the order
of Proceeds tier.
Proceeds made up of ROC and Gain portion of a Sale distribution. In the case of
Income, it will be only gain portion.
In the case of Sale of a deal, it includes realized portion of the deal’s income as well
in the case of deal level waterfall. If it’s fund level waterfall, it includes 100% of the
deal income.
This tier shall be involved only in the case of Sale event. Portion or the entire capital
being disposed as part of one sale event shall to specific investor as a ROC.
Giveback target percentage shall be calculated based on the capital disposed versus
capital contributed, which shall then be used against the MFee paid by the specific
investor to calculate the target amount.
This amount shall be deducted from the available proceeds from current distribution.
Giveback target percentage shall be calculated based on the capital disposed versus
capital contributed, which shall then be used against the Org Fee paid by the specific
investor to calculate the target amount.
This amount shall be deducted from the available proceeds from current distribution.
Giveback target percentage shall be calculated based on the capital disposed versus
capital contributed, which shall then be used against the Drawdown for expenses
paid by the specific investor to calculate the target amount.
This amount shall be deducted from the available proceeds from current distribution.
Page 24 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
recoupment information for the distribution through Waterfall Options user interface
through event stack manager.
User also shall be able to configure the cash flows, which all will be considered for
the preferred return calculation. Cash flow list shall show below list of items:
Waterfall Buckets
WFE Data Points, which get’s generated during the previous tiers in the WFD.
This ways user shall be able to choose the recouped loss from the previous
tier as well.
As of now there are two types of preferred return shall be implemented in WFE as
below:
Contribution / Distribution matching: Each eligible cash flow shall be
considered to calculate the preferred return.
Pref Credit: Negative preferred return shall be calculated for the previously
distributed income or sale.
Once the preferred return target is met and there is more gain to distribute, then
Catchup target shall be calculated based on the formula specified on the tier. Then
the amount shall be split between payer (LP) and receiver (GP) based on the
percentage specified on the tier.
Once the preferred return target and Catchup is met and there is more gain to
distribute, then Full Promote target shall be calculated based on the formula specified
on the tier. Then the amount shall be split between payer (LP) and receiver (GP)
based on the percentage specified on the tier.
Page 25 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 26 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
WFE will allow the user, during fund setup, to map each transaction type to a
Waterfall Bucket. Then, the Waterfall calculation will be represented in terms of
these buckets.
Each Waterfall Bucket will be mapped to an Event Type. The sole purpose of this
mapping is to aid the presenting of the source system’s events on the WFE stack.
The WFE user will be able to add to the list of Waterfall Buckets.
The following tables present the currently known Waterfall Buckets, grouped by their
category.
Page 27 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Ex. If Sale-ROC and Sale-Gain are mapped to the event type ‘Sale’, then the sum will
be displayed on the stack.
Page 28 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Waterfall calculation has different set of tiers. Each tier calculation shall be defined
based on the LPA for each specific investor. User shall be able to define waterfall
definition for one specific investor or for a group of specific investors.
Waterfall Group can have one or more waterfall definition for a waterfall type.
Because, each specific Investor may have different waterfall definition for the same
waterfall type within the Waterfall Group. User shall be able to define formula for the
tiers defined in the Waterfall Group in the Waterfall Definition. Each tier shall have
formula made up of one or more waterfall bucket.
Each specific Investor in a fund must have the Waterfall Definition defined to
calculate Waterfall in Haervest. This shall be done as part of fund setup in Haervest.
Please refer Waterfall Definition, Waterfall Bucket and Tier Formula for the logical
model which discusses the Waterfall Group, Waterfall Definition and other related
entities.
Field Description
Combined Waterfall (True or False) Default shall be False. This is required in the
case of combined waterfall in Common
Investor Level.
Total Fund or Realized Waterfall Realized Waterfall: Consider only the realized
Page 29 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Static: User defines the variable and enters the value for the variable or map the
variable value to the partner property, which can come from source system.
Runtime:
User defines the variable and values shall be entered at the time of running
the waterfall. System will prompt at run time.
Below is the sample diagram, which is based on Management Fee Giveback Target
tier design.
Page 30 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Waterfall Bucket & Transaction Type mapping is explained in the diagram located at
Waterfall Definition, Waterfall Bucket and Transaction Type
Page 31 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
WFD must be created with “Combined Waterfall” flag enabled. If any of the specific
investor having the same WFD within the same common Investor, which has
“Combined Waterfall” flag enabled, shall be combined for waterfall calculation and
report.
Similarly, if any of the specific investor having the same WFD within the same KKR
common investor, which has “Combined Waterfall” flag enabled, shall be combined
for waterfall calculation and report.
Page 32 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
A tier can be created using Waterfall Buckets. But, there are cases, where in we
need to be able to define part of the formula separately (Quantity or Value) and
then use the Value to build the tier.
Each tier will have input(s) and output
User must be able to specify the number of split.
User must be able to specify percentage formula for each split.
Split can be categorized into two. 1. Payer 2. Receiver
Payer is always LP and Receiver could be any GP specific investor entity or
specific investor entity type. Ex. Payer – ULP, Receiver – GP
It could be one or more entity. In the case of more than one entity, amount needs to
be allocated based on some logic. Formula for the logic shall be defined by the user.
System shall list out all the Carry Receiving (GP) entities grouped by LE within the
Waterfall Group. Allow the user to define the formula for each LE’s.
In the case of combined waterfall across multiple LE, system shall allow the user to
define the formula to split the carry between Legal Entities.
Numerical parameters may come from source system or user may enter during the
WFD setup. User may also enter during waterfall execution; in this case numerical
Page 33 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
parameters shall be versioned along with effective date. User may choose to apply
the new parameter as below:
Applicable from Fund Inception: Apply to all the cash flows from Fund
Inception.
Applicable from now onwards: Apply only to the cash flows from current
batch/transaction onwards. Earlier cash flows shall use their respective WFD
information based on Effective Date.
Approved WFD shall be versioned. Any change after that need to go through the
approval process. At a given point of time only one approved WDF allowed for a
specific investor and for a waterfall type.
To present the contents by event type, the stack will use the ‘Waterfall Bucket to
Event Type’ mapping provided by the user for each fund family. Based on this
mapping, the Specific Investor level amounts will be aggregated and shown at the
Legal Entity level. If more than one Waterfall Bucket is mapped to an Event Type, all
amounts contained in those buckets will be aggregated.
The stack will show each line item color coded based on the status of the event. A
color legend will be shown at the top of the stack.
Page 34 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
9 Changed Date
10 GL Date
11 Changed By
12 WFE Status & Action Status data shall be displayed along with the action button
right next to it.
WFE Status: Unprocessed, In-Progress, Processed, Error,
Posted, Approved.
Action: Process, Cancel, Review & Approve
13 Amount
14 Waterfall Options
A sample layout of the Waterfall Stack Manager user interface has been presented
below:
WFE Action:
The following actions will be available to the user:
Process / Re-Process: Process the Income / Sale / Hypothetical waterfall.
Page 35 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Loss Recoupment:
LIFO / FIFO / HIFO / Manual
If the ‘Manual’ option is chosen, the user will be presented with the
outstanding losses in the Legal Entity. The Loss Tier formula will be used to
aggregate the loss amounts of all of the Specific Investors in the Legal Entity. The
following information will be present:
Deal
Position
Tax Lot
Original Loss
Prior Loss Recouped
Loss Reversal
Remaining Loss
Target Loss Recoupment
Carry Throttling:
Using this option, the user will be able to limit the amount of Carry that the Waterfall
will produce for the given event.
Date override:
Records with ‘Effective Date’ less than or equal to ‘Measurement Date’ will be
selected for the Waterfall calculation. This default can be overridden to use GL Date
instead. In rare cases, the user may want to limit the records using both the Effective
Date and the GL Date.
2.4.1.4 Amount
Aggregated dollar amount from all the specific investor within the same batch and
transaction type shall be displayed under this column. Data shall be aggregated
based on the Event Type as well.
Waterfall output screen shall be shown based on source system BatchId. UI shall
provide all the specific investors grouped by Waterfall Group and Carry paying and
receiving investors.
Page 36 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Output screen data displayed based on the tiers defined in the waterfall definition.
Each tier’s target and actual (paid) will be displayed on the UI. Some of the tier may
not have actual.
Below are the lists of possible generic tier and target, which shall be displayed on the
waterfall output review screen:
2.5.2 Drill-down
This will be a key feature of WFE to allow the user to see the details of the calculation
behind every number that is shown on the Waterfall output screen.
When a number is clicked upon, the formula and the other numbers which were used
to compute that number will be displayed on a pop-up window. Subsequent clicks
will reuse the same window to show the next level of detail. Further, the window will
have a ‘Back’ feature which allows the user to move to the previous level.
As part of the Tier calculation, each WFE Data Point will be stored with the numbers
and the formula which gave rise to the HDP. These will be stored in a tree structure
in the WFE Database. The root of the tree will be the number that is shown on the
Waterfall output screen. As each node of the tree is clicked upon, the next level in
the sub-tree will be fetched for display.
Page 37 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
The attributes shown as part of the drill-down will vary based on the data point whose
details are being shown. Where applicable, the Batch ID will be shown along with the
detail. Ability to allow the user to choose the fields to be displayed on the drilldown
reports will be considered when development occurs.
Example #1:
Final report #: Mfee Target
Example #2:
Final report # Proceeds
1 Proceeds = SP + IP
Page 38 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Journal entries will be created based on the ‘WFE Data Point to Trans Type’ mapping
specified in the ‘Output Mapping’ section of the WFD. Any batch produced by WFE
will bear the batch type ‘Haervest’.
In the review UI, the user will be able to view and verify the contents of the batch.
The screen will show the JE output by grouping the specific investors in a Legal
Entity.
Following is a list of columns which will be shown on the JE output review screen:
If there are other required fields for posting a batch in the source system, WFE will
provide default values for those fields.
User can either approve or reject the waterfall results along with comments for each
action. In the case of “Approval”, transaction can be posted to the source system. In
the case of “Reject”, user can reprocess the waterfallable event.
Page 39 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Per agreement with the business users, the source system will be queried for the
data entitlement, at the start of an user session in Haervest. Once the user session
begins, WFE will not be aware of any changes to the user’s data entitlement in the
source system until the next time that user attempts to login into Haervest.
The following steps in the specified order must be satisfied in order for an user to be
able to successfully access a fund in Haervest:
User must be successfully authenticated at the KKR portal and setup to access
Haervest. An user not setup to access WFE will not see the WFE icon.
Sufficient role assigned to the user in the Aexeo AuthZ application. Each role
should have the appropriate permissions assigned to access the various
functionalities.
In the source systems (Investran/Yardi/Aexeo), the user must have the
permissions equivalent to one of the following: a read-only user, a Fund
Accountant or a Controller.
The following diagram describes the steps for setting up an user to access a fund that
is housed in Investran:
Functionality Description
Fund Setup Add/Edit a fund information, transaction mapping and waterfall
definition setup.
Reports Access the reports, if any.
Waterfall Execution Execute the waterfall calculation and post results back to the
source system.
Page 40 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Permission Description
Read Only Read only access to any assigned Application Functionality.
Read Write Read and Write access to any assigned Application
Functionality.
Execute Execute access to assigned Application Functionality.
Approve Approve access to assigned Application Functionality.
Post Post access to assigned Application Functionality.
Role Description
FA shall be able to setup the fund, execute waterfall, post
Fund Accountant (FA) results to Investran, setup scenarios and run reports.
Fund Account Manager FAM shall be able to review the fund setup, review waterfall
(FAM) results and approve and run reports.
Reporter Able to run report and export report
Executive shall be able to see the overview of the fund
Executive performance and run reports.
WFE Admin User can add / edit Event Type, Tier, Waterfall Bucket
Each Role shall have specific set of Application Functionality and Permission defined
as below and each role’s Application Function and Permission can be different based
on the Client.
Role Permission Setup
Fund Account
Manager (FAM) Functionality \ Read Read Execut Approve Post
Permission Only Write e
Page 41 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Fund Setup X X
Reports X
Waterfall Execution X X
Scenarios X
WFE Administration
Page 42 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
2.6.4.1 Investran
The clients may be housed in Investran on a multi-tenant basis. On request, some
client may have their own Investran database. In some cases, this may lead to a
single client spanning multiple databases for their fund families. However, each fund
family will be housed in a single database only i.e. fund families shall not span
databases.
Each user needs to be added in the SQL Server database using their AD account.
Then the user is given permission to access a specific client’s funds through
Investran CRM.
The Investran development team will make available a federated service which will
be accessed by WFE to check a particular user’s data entitlement in the source
system.
Please refer Client, Fund Family & Source System Database for the diagram.
2.6.4.2 Yardi
Q: What kind of security in place in Yardi?
<TODO>: Phase II
2.6.4.3 Aexeo
<TODO>: Phase II
Q: What kind of security in place in Aexeo?
User’s authorization shall be in Client level and Fund Family level. If the user
authorized to a Client, user also authorized to access the entire fund’s within the
client by default. Or else, if user is given authorization to a specific fund within the
client, user wouldn’t be able to access other fund within the client.
Ex:
User Client Fund Family
User A Client 1 All
User B Client 1 Fund Family A
User B Client 1 Fund Family B
In the above scenario, User A has access to all the fund families within Client 1. But,
User B has access to only Fund Family A and Fund Family B within Client 1.
Page 43 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
This section discusses the details of how each event is booked in the source system.
2.7.1 Investran
2.7.2 Yardi
<Phase II>
2.7.3 Aexeo
<Phase II>
Page 44 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
These events are chiefly handled in one of 2 ways (though there could be other
variations):
Realized Waterfall (American style): Carry is calculated on the realized
portion of the fund. In this method, there is potential for a Clawback situation
in the latter part of the fund’s lifecycle if the remaining deals do not perform
well.
Total Fund Waterfall (European style): Here, Carry is calculated only after
the LP has received all or a portion of the contributions made plus the
preferred return on the contributions. In this method, the GP is not likely to
receive any Carry for a substantial period.
Page 45 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Sale, Income and Interim Clawback result in cash Carry. The Period Close
Valuations result in unrealized Carry or Clawback.
The Waterfall calculation filters the Proceeds of the event through a number of steps
(tiers) before Carry is produced for the GP.
Ex:
In this example at the time of BatchId 1004 distribution, system shall consider:
ROC = $ 30,000.00 for ROC
Gain = $ 15,000.00 for Gain
Total Proceeds = $ 45,000.00
Any giveback or loss recoupment done based on the current distribution only.
In this example at the time of BatchId 1004 distribution, system shall consider:
ROC = $ 125,000.00
Gain = $ 30,000.00
Total Proceeds = $ 155,000.00
Reference spread sheet provided below has the cumulative waterfall calculation:
Cumulative Waterfall Calculation
Page 46 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Preferred return percentage is usually from 7% to 12%. But, this shall be decided by
the GP, which is mentioned in the LPA.
Preferred return is calculated using the Pref Start and Pref Stop dates. These dates
provide the start and stop points for the interest calculation. Depending on the LPA,
the Pref Start date may be one of the following:
Investment Date
Partner Contribution Date
Partner Contribution Date + ‘n’ days – This occurs only when the contribution
is made before the Investment occurs and the Investment doesn’t occur for ‘n’
days after that contribution.
The various ways of calculating the Preferred Return have been explained in the
subsequent sections, using the following sample set of events:
Event
ID Event Deal Amount Date
1 Inv A $250,000.00 1/15/2007
2 Inv B $175,000.00 5/10/2007
3 Sale A $100,000.00 6/23/2008
4 Inv C $125,000.00 8/12/2008
5 Sale A $50,000.00 4/23/2009
6 Sale B $75,000.00 6/25/2009
7 Sale C $25,000.00 7/3/2009
Page 47 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
date. The capital distributed through the distribution event is the principal on which
the interest is calculated.
Contribution/Distribution Matching
Calc Date 11/20/2009 Comp. Interest P(1+R)^n
Event
ID Event Deal Amount Interest Start Interest End Interest Amount
3 Sale A $100,000.00 1/15/2007 6/23/2008 fnCompInt()
5 Sale A $50,000.00 1/15/2007 4/23/2009 fnCompInt()
6 Sale B $75,000.00 5/10/2007 6/25/2009 fnCompInt()
7 Sale C $25,000.00 8/12/2008 7/3/2009 fnCompInt()
Reference spread sheet provided below has the pref credit preferred return
calculation, which is highlighted in red color on the spread sheet:
PrefCredit Preferred Return Calculation
Page 48 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Annual
Anniversary
Quarterly
Monthly
Weekly
Daily
Continuous
Simple i.e. no compounding
Actual / Actual
Actual / 365
Actual / 360
30 / 360
In each, the numerator specifies the number of days in a month and the denominator,
the number of days in a year.
Numerator: Numerator consists of the realized portion of the Fund, which is ROC,
Writedown, and Drawdown Expenses.
Page 49 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Losses can be categorized as below Realized Loss and Unrealized Loss, which is
explained below.
During the loss recoupment user can choose to recoup any type of loss. Distribution
can recoup the loss based on configuration. List of option: FIFO, LIFO, HIFO, Manual
Recoupment.
Writedown: Writing down the investment shall create the temporary loss, this may
come up later.
Sold less than Cost: If a deal is sold less than its cost, it introduces the realized loss
of an investment.
Page 50 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
System shall allow the user to allocate the WFE Data Point value to multiple deals /
positions / lot based on logic defined by the user. Below is an example of such an
allocation logic:
Remaining Invested Capital
Gain produced by the Deal/Position/Lot
2.10 Reporting
WFE will produce all data points at the most granular level i.e. for a given Specific
Investor, each data point will be at the Position level and if applicable, at the Tax Lot
level. There are 3 approaches to reporting on data in Haervest:
Page 51 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Given that WFE will produce granular data points, it may be possible to attach an Ad
hoc query builder tool to the WFE data store and allow the users to generate their
own reports. This possibility has to be further researched by KKR along with the
decision on a suitable tool. Further, it is to be noted that the WFE database schema
is best suited for transactional data where the schema is required to be highly
normalized. However, for ad hoc reporting, this highly normalized structure has to be
transformed into a flat aka de-normalized structure. This has to be handled as a
separate task, involving specialized IT resources.
Push the data to the Enterprise Data Warehouse and use an Ad hoc tool
When the KKR Enterprise Data Warehouse is available for the WFE system, the
granular data points can be pushed to the warehouse to allow the user to create
canned or ad-hoc reports using a reporting tool to be recommended by SAE.
Following is the set of reports identified during the preparation phase of this project.
These reports will be built as canned reports using Crystal Reports or Cognos
reporting tool and made available in the WFE system. In addition, any data in a
tabular format will be allowed to be exported to Excel.
Page 52 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
The principal purpose of this feature is to allow the user to simulate a gradual fund
close during the post investment period. It is to be noted that the ‘Hypothetical’
Waterfall Type will be used to simulate an abrupt fund close at the end of each
performance reporting period.
Page 53 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 54 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 55 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 56 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 57 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 58 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 59 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
5 NON-FUNCTIONAL REQUIREMENTS
5.1 Performance Requirement (TBD during QA)
For a given Waterfall execution, the response time of WFE will be a function of the following:
1. Fund’s vintage
2. # of events (inception to date count of business and waterfall events)
3. # of Investors
4. Variability in the waterfall process among the Investors
It is difficult to assess the response time of the system during the functional design phase.
The proposal is to ensure that each component of the system will be built to perform its unit
of work in the least amount of time that is possible. To address performance bottlenecks,
scalability and parallelization of processes have been discussed in the Technical Architecture
document.
There will be a period set aside in the development cycle where the ThoughtFocus QA and
the KKR users will assess the performance of the system in terms of response time.
Page 60 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
6 OUT OF SCOPE
Multi Currency: WFE will be currency agnostic. All currency related calculation will be
handled in the source system.
Page 61 of 62 14-Sep-23
WFE - Functional Design Document
Version : 4.3
Page 62 of 62 14-Sep-23