Calculations
Introduction of MXL
We're extremely excited to announce the release of MXL: Maybern's custom formula language designed for financial calculations and data transformations. MXL provides an Excel-like syntax for working with data tables, performing calculations, and aggregating data across complex financial structures.
MXL offers the flexibility of Excel formulas within the controlled environment of Maybern's platform. For example, users can now write MXL formulas to create custom calculations that combine Maybern transactions in any way, and reference the defined calculation in Maybern configuration to ensure that this same calculation is evaluated in the appropriate context with all necessary inputs each relevant system event. Below, we'll discuss specific use cases for MXL calculations to illustrate this point.
Use Cases for MXL
For now, all MXL calculations will be configured on your behalf by the team at Maybern. Please reach out to your account representative to learn more.
Waterfall Configuration
In waterfall configuration, users can now reference an MXL calculation to power the calculation of the amount owed to each tier. This allows users to write custom logic for how a given waterfall tier should be calculated, but ensure that this calculation is run consistently for each cash / hypothetical waterfall for all necessary input cashflows.
Below shows a series of MXL calculations that might be used to calculate an 8% Preferred Return:
# Calculate time period for each transaction
pref_time_period = DAYS(distribution_date - InvestmentAdjustedTransaction.pref_date) / 365.0
# Calculate future value for each transaction
pref_8_per_transaction = FV(
-InvestmentAdjustedTransaction.signed_capital_amount,
0.08,
pref_time_period
)
# Sum to get total preferred return
total_pref_8 = SUM(InvestmentAdjustedTransaction[pref_8_per_transaction])
# Or as a single expression:
total_pref_8 = SUM(
InvestmentAdjustedTransaction[
FV(
-signed_capital_amount,
0.08,
DAYS(distribution_date - pref_date) / 365.0
)
]
)
Performance Calculations (coming soon)
MXL formulas can be used to write custom performance calculations for fund and LP performance metrics. We're currently working to display these custom calculations within the performance tab of each hypothetical waterfall run.
MXL formulas can also be used to write custom performance calculations for investment performance metrics. These calculations can actually reference GL data that has been ingested by Maybern in addition to Maybern written transactions.
Use cases we plan to expand MXL calculations to in the future include using MXL formulas to power fee basis calculations and allocation rule bases.
MXL Capabilities
MXL Supports a wide range of both operators and functions.
Supported Operators
Arithmetic Operators
+Addition-Subtraction*Multiplication/Division^Power
Comparison Operators
=Equal<>Not equal<Less than<=Less than or equal>Greater than>=Great than or equal
Logical Operators
ANDAndOROrNOTNot
Supported Functions
Arithmetic Functions
ADD- AdditionSUB- SubtractionMULT- MultiplicationDIV- DivisionPOW- Exponentiation
Aggregation Functions
SUM- Sum valuesMIN- Minimum valueMAX- Maximum valueAVG- Average valueCOUNT- Count non-nullsGEO_MEAN- Geometric mean
Comparison Functions
LEAST- Smaller of two valuesGREATEST- Larger of two valuesCOALESCE- First non-null value
Conditional Functions
IF- Conditional expressionIN- Check value in array
Type Conversion Functions
INTEGER- Convert to integerDECIMAL- Convert to decimalFLOAT- Convert to floatSTRING- Convert to stringBOOLEAN- Convert to booleanDATE- Convert to date
Date Functions
DATE- Create date from componentsDATEADD- Add interval to dateDATE_TRUNC- Truncate dateDAY- Extract dayMONTH- Extract monthYEAR- Extract yearDAYS- Convert to days
Table Operations
FILTER- Filter rowsGROUP_BY- Group rowsWINDOW- Window frameLOOKUP- Left joinSTACK- Union columnsCOLUMN- Column reference
Financial Functions
FV- Future valueXIRR- Internal rate of return
Expanded Transaction Code Access in Basic Calculations
Basic calculations are now more powerful: users can build calcs using any Maybern transaction code. This unlocks greater flexibility for custom allocation rule logic and enhances support for advanced analytics use cases, such as transaction code pivoting. Whether basing rules on management fees, credit facility activity, or other non-standard codes, users now have full control over the inputs.
Under Configuration --> Calculations:
Click
New Calculationand selectBasicas the typeIn the
Transaction Codedropdown, you’ll now see the full list of Maybern transaction codes available for selection
Allocation Rules
Support for Multiple Transaction Codes in Allocation Rules
Users can now assign multiple transaction codes to a single allocation rule. This update removes the previous limitation of one code per rule, making it easier to manage complex allocation logic. All selected codes are saved and clearly displayed in the rule details.
Fees
Ad-Hoc Calls for Fees
Some funds using Maybern post fees quarterly, but call for fees on an ad-hoc basis and don't call exact quarterly amounts. We've introduced new functionality to support this in Maybern.
Under Configuration --> LPA Config --> Fees --> Fee List --> Click into a fee --> Edit
To enable this new config, select transaction code
Custom Amount Pro Rataand save
Under Fees:
Users can post fees quarterly as usual
Users can now see a new statistic in the stat bar showing
Fees Called
Under Capital Activity --> Run Capital Event --> Add Call:
When this configuration is enabled, users will be able to select
Management Feesand enter one total amount of fees to call from LPsThe maximum amount users can enter is the amount of fees already posted but not yet called
When using this functionality, quarterly fee postings will be used FIFO
Configuration
Increased Flexibility of Rounding Methodologies
Some funds round to the cent for some workflows (like fee postings and credit facility expense postings), but round to the dollar in other workflows (usually capital calls, so that LPs aren't stuck wiring cents). As part of our commitment to increasing flexibility across the system, we've made it possible for funds to opt to round to different increments by workflow.
Under Configuration --> LPA Config --> Fund Family Profile --> Rounding Event Overrides --> Edit:
Users can select a
Fund Family Event Type(e.g. Capital Activity)Users can then select a
Fund Family Sub Event Type(e.g. Capital Call)Users can then select the
Rounding Methodologyfor that eventOnce this has been configured, users will see that the rounding methodology change surfaces in selected events
Waterfall Configuration Updates
Several updates have been made to the waterfall configuration UI to improve clarity and better support structured calculations:
Calculationnames are now linked on hover, allowing users to quickly navigate to the underlying structured calc definitionsCatch Uptiers now include aCatch Up %input field, along with a corresponding calculation definition section to clarify how each tier is computed
