# Sites conversion reporting

## Units and cohorts

- **Acquisition unit:** one first-party Site request. A clean request is represented by one canonical `quotation_submissions` row. A quarantined request is represented by one `premium_lead_approvals` row until a decision is made.
- **Assignment unit:** one `lead_assignments` row. A quotation may create multiple assignments because it can select multiple operators.
- **Cohort date:** the original request's `submitted_at`, interpreted with `Asia/Kuala_Lumpur` calendar boundaries. Approval decisions and later assignment updates never move a request into another cohort.

## Website funnel definitions

- **Quotation Requests:** canonical Site-attributed quotation submissions.
- **Assigned Quotations:** unique quotation IDs with at least one assignment whose `distribution_status` is `assigned`.
- **Potential Quotations / Closed Quotations:** unique quotation IDs with at least one assignment whose `pipeline_status` is respectively `potential` / `closed`. Multiple matching assignments still count once.
- **Rates:** Assigned, Potential and Closed are each divided by canonical Site-attributed quotation submissions for the same filter cohort. A zero denominator renders as `—`, never `0%`.

## Quality and isolation

- **Clean:** canonical submissions that did not originate from an approved Premium Approval.
- **Pending / Approved / Rejected:** Premium Approval requests by their current status. An approved approval is excluded from Clean, so the quality buckets do not double count the same acquisition.
- Website filters use immutable `lead_attributions` and `sites_attribution_snapshot` values. A current Website domain or Main Operator change cannot rewrite historical reporting.
- Landing context is the immutable source Website operator snapshot. Selected/distributed operator is assignment-level. UTM source/campaign preserve null values as `Direct / Unknown` and `No Campaign`.
- Same-day reuse remains a new acquisition/quotation; it may reuse routing or agent context but does not mutate historical assignment or credit records.
