package com.ga.core.vo.kpi;

import lombok.Data;

import java.math.BigDecimal;
import java.time.OffsetDateTime;

/**
 * 계약 유지율 KPI 응답 VO (mv_retention 기반)
 * V37 Materialized View 조회 전용.
 * 13개월/25개월 유지율 지표.
 */
@Data
public class KpiRetentionResp {
    private String contractMonth;        // 계약 기준월 (YYYYMM)
    private Long carrierId;              // 보험사 ID
    private String carrierName;          // 보험사명
    private Long totalContracts;         // 기준월 전체 유효 계약 수
    private Long retained13m;            // 13개월 시점 유지 계약 수
    private Long retained25m;            // 25개월 시점 유지 계약 수
    private BigDecimal retentionRate13m; // 13개월 유지율 (%)
    private BigDecimal retentionRate25m; // 25개월 유지율 (%)
    private OffsetDateTime refreshedAt;
}
