Document toolboxDocument toolbox

Best practices to use Segmentation

This article should help using segmentations in a reporting solution.

Level

Segmentations

Ordering

Selection

Best Practices / Examples

Level

Segmentations

Ordering

Selection

Best Practices / Examples

Base Segmentations

Base Segmentations are defined by the data sources and typically have too many segments. Still they can be used in any of the below scenarios by adding a short form of derived segmentation

The base segmentations have their natural ordering defined.

 

  • Use the very long base segmentation riskCurrency as segmentation for a chart that can only show 6 segments:"segmentation": "riskCurrency<6"

Stored (derived) Segmentations

Segmentations designed with the Segmentation Editor and stored in the solution are typically used to group the assets based on one (or multiple) base or derived segmentations.

 

Don’t use any fixed ordering clause here if you want to use the automatic ordering features of building blocks.

Don’t use maxSegments here if you want the flexibility to adapt this setting in profiles or reportTypes to match the situation.

  • Use segment grouping to shorten a hierarchical base segmentation to level 1 (selecting a level 1 segment will also group all underlying subSegments). Example shown is from sample_gicsL1:

 

  • Use predicates to group by values from multiple segmentations

Use the in operator in to check for segment equality, even if you check only for 1 value. This due to the fact, that equality (assetCategory == ‘Equities’) will not catch the subSegments of a hierarchical source segmentation:

{ "id": "abcd-0016-EquitiesUS", "name": { "label": "segment_EquitiesUS" }, "rule": { "prio": 7, "predicate": "assetCategory in ['Equities'] && riskCurrency in ['United States']" } }
{ "id": "bond-2345-all", "name": { "label": "segment_Bonds" }, "rule": { "prio": 1, "predicate": "!(iboxxSect in ['FX', 'Cash and Cash Equivalents'])" } }

Profiles

The profiles define the default segmentations to be used for

  • assetBreakdown (for portfolio, fixedIncome & equity)

  • contributionsBreakdowns & attributionBreakdowns

"assetBreakdownSegmentations": [ "riskCurrency<6", "sample_creditRatingL1<6", "sample_effectiveDurationBucket", "sample_iboxxSectL1<6" ],

Report-level Building Block

 

 

 

Report Types

In a report type the final parameters to a building block can be defined

normally no ordering needed

normally no selection needed

Building Blocks

The building blocks partially modify the incoming segmentation to

  • order the output by a figure

  • reduce output given on topBottomN

Selection is done based on parameter TopBottomN

  • ContributionBlocks (CA005..CA007) sort by the first segmentation in barchartFigures or if none by portfolioContribution.

  • CA001 sorts by relativeContribution

  • AB-and AS-blocks sort by mktValuePflCcy