Sign in

Blog · Data quality and reconciliation · Insurance

Policy transactions versus policy terms in insurance reports

Avoid counting endorsements as new policies. Separate policy terms, transactions and reporting snapshots with a worked agency example.

The short answerCount policy terms from a term-level register and sum financial movements from a transaction ledger. An endorsement changes a policy term; it is not automatically another policy or a new client.

A premium export often has several rows for one policy: inception, an endorsement and a cancellation adjustment. Counting its rows as policies makes a busy account look like several sales. Keeping term-level and transaction-level measures separate lets the agency answer both how many policies it manages and how much premium or commission moved.

Define the data before the metric

One row represents: one financial transaction for transaction measures, or one policy term for policy counts.

Useful fields: Client ID, policy ID, term start, term end, term ID, transaction ID, transaction type, effective date, posting date and signed premium movement.

Create a stable term key that distinguishes a renewal from the prior year. Attach movements to that key without discarding their signs. Maintain a separate current-status snapshot for in-force counts. A policy number alone may recur across years, so it is not a reliable term key unless the source guarantees uniqueness.

Worked example

The following records and amounts are invented to show the method. They are not customer results, industry benchmarks or a forecast of Covirage performance.

Term Transaction Premium movement
T101 Inception $10,000
T101 Endorsement $2,000
T102 Inception $8,000
T102 Cancellation adjustment −$3,000

There are four transactions and two policy terms. Net premium movement is $17,000: $10,000 + $2,000 + $8,000 − $3,000. Neither result establishes the number of policies currently in force, because that requires the status and effective dates at a stated snapshot date.

Use the result in a review

  1. Show transaction count and policy-term count with separate labels instead of allowing the same field to serve both metrics.
  2. Open terms with unusually many movements to determine whether they reflect normal servicing, repeated corrections or duplicate imports.
  3. Ask operations to approve the term key before comparing branches whose sources format renewal policy numbers differently.

Checks before publishing

  • Confirm every transaction has one term association; split allocations need an explicit rule rather than a many-to-many join.
  • Reconcile signed amounts before and after attaching policy attributes so endorsements do not multiply premium.
  • Check that a renewal with the same policy number receives a different term identifier from its predecessor.

Where this analysis can mislead

Transaction volume can indicate servicing activity, but it is not a direct measure of effort. Ten automated changes may cost less to handle than one complex endorsement. Avoid rewarding or penalizing producers on raw movement counts alone.

Explore this question with your own data

Bring a small, authorized sample to Covirage for insurance agencies and brokers. Use the sample to discuss the fields and views your business needs. A dashboard or AI analyst can help explore this question when the required data and definitions are available; missing records still need to be resolved.

Upload sample data to check its structure. Keep unnecessary personal, claims and policyholder details out of an initial sample. The sample check does not establish that every analysis in this guide is available automatically.

Reference context

These references provide terminology or governance background. The worked example and proposed review method above are original illustrations, not prescribed industry standards.

Questions people ask

Can I calculate in-force policies from the transaction file?

Only with enough status and effective-date information to reconstruct the position at the chosen date. Counting transaction rows is not an in-force policy count.