Fees
Independently recalculate the ongoing fees charged to each fund and share class, and compare them with what the administrator reported.
Fees (Fees Analytics) independently recalculates the management and other ongoing fees charged to each sub-fund and share class, and compares them with what the administrator reported. It supports many fee structures, including a percentage of NAV, fixed amounts and minimums, on the fee's own reset calendar. It answers: are the fees charged here accurate, and if not, by how much and since when?
How it works
Fees Analytics works fee by fee and NAV date by NAV date, in three modes that each fill their own columns of the same row:
- Expected calculates the accrual the fee's terms imply. It reads each fee's terms from its fee parameter (type, rate, fixed or minimum amount, reset frequency) and the NAV of the entity it is charged to, applies the rate to the previous NAV adjusted for the day's subscriptions and redemptions, and covers the days since that NAV. When the sub-fund states no day-count basis, it gives a low and a high value, computed on 360 and on 365 days.
- Observed reads what the administrator reported: the fee's balance, its payment and its accrual for the day. When one of the three is missing it derives it exactly from the other two, and when the balance falls on a day with no payment reported it estimates the accrual from the fee's own recent history.
- Both compares the two: the reported accrual minus the calculated one, over the same period.
Every fee parameter gets a row, including fees the expected mode does not calculate, and the row says why. Performance fees are calculated by Performance Fees instead, and the total expense ratio by TER.
What you get
- The calculated accrual per fee and date, with a Calculation Status that says whether it was calculated and, if not, why:
calculated,out_of_scope,calculated_elsewhere(a performance fee),not_yet_supportedormissing_terms. A Calculation Note names the cause in plain words. - The administrator's figures per fee and date, with a Reporting Status:
reported,derived,estimated,incompleteornot_reported, and a Reporting Note saying which figure was derived and how. - A Consistency Gap: the change in balance minus accrual minus payment, when the administrator sent all three. Zero when they add up.
- The Accrual Deviation between reported and calculated, in reference currency, as a fraction of NAV, and the number of calendar days it covers.
On the entity's first NAV date there is no previous NAV, so the expected mode estimates it from that date's own NAV over one day, and the note says so.
In SPARK
The results arrive in a Fees Analytics Signals data object (slug ngt_fees_analytics_signals), created from the Fees Analytics Signal template, version 2.2.1, in the template picker's Analytics group. Each row is one fee on one NAV date, linked to its Fee Parameter, Sub Fund and, for a share-class fee, Share Class. Amounts named _base are in the sub-fund's reference currency.
The columns you will use most:
| Column | Slug | What it holds |
|---|---|---|
| Calculation Status | calculation_status | Whether the expected mode calculated the fee, and why not |
| Calculated Accrual Base | fee_accrual_calculated_base | The accrual the terms imply; _low / _high when there is no day-count basis |
| Reporting Status | reporting_status | What the administrator's figures allowed |
| Reported Accrual Base | fee_accrual_reported_base | The day's accrual, as sent or derived |
| Consistency Gap Base | fee_consistency_gap_base | Balance change minus accrual minus payment |
| Accrual Deviation Base | fee_accrual_deviation_base | Reported minus calculated accrual, over the same period |
| Accrual Deviation In Percentage Of NAV | fee_accrual_deviation_nav_percentage | The deviation as a fraction of the capital-adjusted prior NAV, despite its name: 0.0001 means 0.01% |
| Accrual Deviation Days | fee_accrual_deviation_days | Calendar days the deviation covers: 1 for consecutive daily NAVs, more across a gap |
On a row whose accrual was estimated, four further columns show the fit the estimate rests on: Accrual Effective Rate Per Day, Accrual Fit Rate Per Day, Accrual Fit Fixed Per Day Base and Accrual Fit Day Count.
Days Since Last NAV and Capital Adjusted Prior NAV Base describe the entity, not the fee, so they repeat on every fee row of the entity. Don't add them up across fees on a canvas.
The fee terms live on the Fee Parameters object (template version 4.0.0). Fees Analytics decides what is acceptable from none of them: how large a gap or deviation matters is your call, made in a canvas filter, a workflow condition or an Exception Framework rule.
Track calculated versus reported accruals on a canvas, and let a workflow or an agent raise a task when a fee deviates.