Deciding appropriate granularity for your costs
A common question is what level of granularity is best to represent a cost in PolicyCenter.
Cost entity instances are the primary output of rating. Any non-premium data from rating that needs
to be retained typically must be connected to a persisted cost entity instance.
When modeling your costs, consider the
downstream usage of financial data, including general ledger, billing,
agent commission payments and statistical reporting requirements. A general
best practice is to store premium at the most granular level required
and aggregate as needed later rather than split costs when sending to
downstream systems. For example, create a Cost subtype and create multiple
cost rows for similar data rather than requiring splitting a cost when
sending to a billing system. Note that adding a typekey to the cost simplifies
grouping, as done in PIP costs and Non-Owned liability costs in the Commercial
Auto line.
However, creating very granular costs can create far too much data to store. In some cases, granular breakdown is only needed for audits. In that case, a single cost with additional data attached to that cost is better than splitting an object into many costs. An example of this multi-peril rating, where each peril requires a different algorithm that calculates a part of the premium. You can create one cost for the coverage because this is typically how it is charged and financially accounted.
Optionally, if you want to show the breakdown on the quote page or on reports, extend the Cost object with an array of objects containing details for each peril. The quote page and reports can optionally show this extra information.
