TER
Compute each share class's total expense ratio from the fees it actually accrued, over a trailing window of NAVs.
TER (TER Analytics) computes each share class's total expense ratio on each NAV date, from the ongoing fees it actually accrued rather than from a prospectus figure. It answers: what is this share class really costing its investors, and which fees make up that cost?
How it works
For each share class and NAV date, TER Analytics looks back over a trailing window of the share class's NAVs. It adds up the accruals of the share class's ongoing fees, its own and its share of the sub-fund's (split by NAV weight), plus its waivers and caps, and divides them by the share class's average NAV over the window. That gives the TER for the period, which it then annualises by the days the window covers.
The accruals it uses are what the administrator reported, completed by the observed mode of Fees where a figure is missing. Performance fees and transaction fees are not ongoing, so they are left out of the TER, and the row says which fees were.
What you get
- The TER for the window, not annualised, and the TER annualised (period TER × annualisation days ÷ window days), both in percent.
- The ongoing expenses, the waivers (with their own sign, negative when they reduce the fees) and the average net assets behind it, in the sub-fund's reference currency.
- The window itself: its first NAV date, how many NAVs and calendar days it covers, and the days a year it annualises over (the sub-fund's, or 365).
- A breakdown of every fee in the window, ongoing fees first, then waivers, then any fee left out, largest first.
- How many fee-days in the window had no accrual, and a note on anything the TER left out or estimated.
In SPARK
The results arrive in a TER Analytics Signals data object (slug ngt_ter_analytics_signals), created from the TER Analytics Signal template, version 1.0.0, in the template picker's Analytics group. Each row is one share class on one NAV date, linked to its Share Class and Sub Fund.
| Column | Slug | What it holds |
|---|---|---|
| TER Annualised | total_expense_ratio_annualised | The annualised TER, in percent |
| TER Period | total_expense_ratio_period | The TER for the window, not annualised, in percent |
| Ongoing Expenses Base | ter_ongoing_expenses_base | The window's ongoing fee accruals, sub-fund-level shares included |
| Waivers Base | ter_waivers_base | The window's waivers and caps |
| Average Net Assets Base | ter_average_net_assets_base | The share class's average NAV over the window |
| Window Start, Window NAV Count, Window Day Count | ter_window_start, ter_window_nav_count, ter_window_day_count | The window the TER covers |
| Annualisation Days | ter_annualisation_days | Days a year it annualises over |
| Methodology | ter_methodology | How the TER was computed, so two runs can be compared |
| Fee Count, Missing Accrual Count | ter_fee_count, ter_missing_accrual_count | Fees included, and fee-days with no accrual |
| Expense Breakdown | ter_expense_breakdown | The window's fees, one entry each (JSON) |
| Note | ter_note | What was left out or estimated, in words |
Each entry of the Expense Breakdown names the fee (its fee parameter, type and name), whether it is charged to the share class or the sub-fund, its role in the TER (ongoing, waiver, or left out as unclassified or excluded), its amount over the window, the weight used to share a sub-fund-level fee, and its missing days.
When a share class has fewer NAVs than the configured window before a date, the window is shorter and the Note says so. Read early rows with that in mind.
Plot the annualised TER per share class on a canvas, compare it with the figure in the share class's documents, and let a workflow or an agent raise a task when the two drift apart.