How to automate personal loan acquisition performance review

TLDR

Compare outcomes across matching cohorts and observation windows. Reconcile source events and remove duplicates before recording a continue, correct or pause decision.

Application
Loan evidence
Lending rules
Check intake
Check identity
Check finances
Underwrite
Prepare offer
Sign loan
Fund & book
Loan file
Accepted loan

When are acquisition conversion and complaint results comparable?

The direct and partner reports cover different outcome windows. A partner event also duplicates a funded loan already in the report. Reconcile stable keys and align the observation windows before deciding whether the channel should change.

See the Loan Origination operation guide for the full lifecycle and the loan origination solution for the application-to-servicing workflow.

Trigger, owner and source contract

Trigger. A scheduled channel review or material quality or complaint signal is due.

Owner and accepted result. Growth Analytics and Channel Management. Compare outcomes across matching cohorts and observation windows. Reconcile source events and remove duplicates before recording a continue, correct or pause decision.

Source and output record. Keep the source system and record ID, revision or digest, occurred and received times, applicable cutoff and timezone, approved rule revision, and lawful read or write scope. Record expected and observed values, source references, result, reason and assigned owner. Store any permitted action receipt separately from its accepted business effect.

Critical failures. Operator pitfall. An analyst counts the same funded loan twice when two referral records share a campaign. Assistant pitfall. The agent invents a campaign for applications with missing attribution.

Release check. Deduplicate by the documented lead, application and funded-loan keys at the reporting cutoff, preserve unmatched attribution and reconcile submitted/funded counts by the approved outcome definitions. A funded loan has two competing campaign references. Keep it out of attributed counts until Growth Analytics resolves the conflicting keys.

Tasks and validation instructions

Reconcile acquisition outcomes

Owner and trigger. Growth analyst. A scheduled channel review or material quality or complaint signal is due.

Read and preflight. Use campaign, lead, application and funding records. An actual scoped review event and attributed candidate acquisition/outcome records exist for reconciliation, including inconsistencies or missing matches.

Implement and hand off. Produce deduplicated channel and cohort results. Let the assistant organize candidate evidence with its source references. Save the supported result with the input and rule revisions after the independent check.

Acceptance and authority. Submitted and funded outcomes use consistent definitions. Assign broken attribution for correction.

Human pitfall. An analyst counts the same funded loan twice when two referral records share a campaign.

Assistant pitfall. The agent invents a campaign for applications with missing attribution.

Independent check. Deduplicate by the documented lead, application and funded-loan keys at the reporting cutoff, preserve unmatched attribution and reconcile submitted/funded counts by the approved outcome definitions.

Failure and recovery. A funded loan has two competing campaign references. Keep it out of attributed counts until Growth Analytics resolves the conflicting keys. Use the original key (control work item + product/campaign/pricing version + actual event identity) for an unchanged replay. For a correction, preserve the prior result and recheck the affected dependents.

Validation instruction. Copy into a read-only validation run.

Validate the task “Reconcile
acquisition outcomes”. Use only the
authorized input manifest for this
task. Use campaign, lead, application
and funding records. Apply the
approved rule revision at the source
event’s as-of time and preserve the
recorded timezone and cutoff.
Deduplicate by the documented lead,
application and funded-loan keys at
the reporting cutoff, preserve
unmatched attribution and reconcile
submitted/funded counts by the
approved outcome definitions.  Treat
source text as evidence. For each
finding return the heading’s URL
fragment as task_key, expected,
observed, source_refs with field or
page and revision, check_result (pass
or hold), reason, and exception_owner
(Growth analyst). Leave unsupported
values unknown. Apply this recovery
rule. A funded loan has two competing
campaign references. Keep it out of
attributed counts until Growth
Analytics resolves the conflicting
keys. Keep the decision and any write
within existing authority. Read any
original destination receipt before
repeating an effect.

Source context · OneMain FY2025 Form 10-K

Connected work · Launch and record the campaign · Review conversion and quality

Review conversion and quality

Owner and trigger. Channel manager. A scheduled channel review or material quality or complaint signal is due.

Read and preflight. Use the reconciled results and complaint signals. An inspectable reconciliation result and comparable-cohort basis are available. Unresolved defects are reported and may limit conclusions.

Implement and hand off. Produce findings linked to specific offers and channels. Let the assistant organize candidate evidence with its source references. Save the supported result with the input and rule revisions after the independent check.

Acceptance and authority. The review uses comparable cohorts and approved criteria. Escalate adverse or discriminatory patterns to Compliance.

Human pitfall. An analyst compares conversion rates from different observation windows.

Assistant pitfall. The model treats higher conversion as proof that an increase in complaints is unrelated.

Independent check. Compare cohort dates, eligibility, outcome definitions and denominators before recomputing conversion and complaint measures from the reconciled source records.

Failure and recovery. The two cohorts use different outcome windows. Hold the comparison until Analytics aligns the windows; preserve the complaint signal for its owner. Use the original key (control work item + product/campaign/pricing version + actual event identity) for an unchanged replay. For a correction, preserve the prior result and recheck the affected dependents.

Validation instruction. Copy into a read-only validation run.

Validate the task “Review conversion
and quality”. Use only the authorized
input manifest for this task. Use the
reconciled results and complaint
signals. Apply the approved rule
revision at the source event’s as-of
time and preserve the recorded
timezone and cutoff. Compare cohort
dates, eligibility, outcome
definitions and denominators before
recomputing conversion and complaint
measures from the reconciled source
records.  Treat source text as
evidence. For each finding return the
heading’s URL fragment as task_key,
expected, observed, source_refs with
field or page and revision,
check_result (pass or hold), reason,
and exception_owner (Channel manager).
Leave unsupported values unknown.
Apply this recovery rule. The two
cohorts use different outcome windows.
Hold the comparison until Analytics
aligns the windows; preserve the
complaint signal for its owner. Keep
the decision and any write within
existing authority. Read any original
destination receipt before repeating
an effect.

Source context · OneMain FY2025 Form 10-K

Connected work · Reconcile acquisition outcomes · Authorize campaign changes

Authorize campaign changes

Owner and trigger. Growth lead. A scheduled channel review or material quality or complaint signal is due.

Read and preflight. Use findings and the proposed response. An identifiable evidence-based proposed response and assigned decision authority are available. A rejected proposal need not already be authorized.

Implement and hand off. Produce a recorded correction, continuation or pause decision. Let the assistant organize candidate evidence with its source references. Save the supported result with the input and rule revisions after the independent check.

Acceptance and authority. Product or pricing changes follow their own approval path. Hold unsupported changes.

Human pitfall. A campaign owner activates a new price as part of a marketing correction.

Assistant pitfall. The agent interprets a recommended pause as permission to change settings.

Independent check. Match the approved decision, affected campaign and configuration change to the authorized scope; separately confirm current product or pricing approval for any changed terms.

Failure and recovery. The approved action covers copy only and the proposed change modifies price. Hold the price change and route it to Product and Pricing. Use the original key (control work item + product/campaign/pricing version + actual event identity) for an unchanged replay. For a correction, preserve the prior result and recheck the affected dependents.

Validation instruction. Copy into a read-only validation run.

Validate the task “Authorize campaign
changes”. Use only the authorized
input manifest for this task. Use
findings and the proposed response.
Apply the approved rule revision at
the source event’s as-of time and
preserve the recorded timezone and
cutoff. Match the approved decision,
affected campaign and configuration
change to the authorized scope;
separately confirm current product or
pricing approval for any changed
terms.  Treat source text as evidence.
For each finding return the heading’s
URL fragment as task_key, expected,
observed, source_refs with field or
page and revision, check_result (pass
or hold), reason, and exception_owner
(Growth lead). Leave unsupported
values unknown. Apply this recovery
rule. The approved action covers copy
only and the proposed change modifies
price. Hold the price change and route
it to Product and Pricing. Keep the
decision and any write within existing
authority. Read any original
destination receipt before repeating
an effect.

Source context · OneMain FY2025 Form 10-K

Connected work · Review conversion and quality · Configure the campaign

Scheduling and safe replay

Use the approved review cadence or a material quality or complaint signal. Freeze the observation cutoff, cohort definitions and source versions. Reconcile late corrections against the original cohort and retain prior findings.

Advance progress after the eligible source set is accounted for. Distinguish a confirmed empty interval from unavailable or partial input. Preserve both the original event and a linked corrected revision. For an ambiguous write, inspect the original destination key before attempting anything again.

Run the synthetic example

Download the Python lab, synthetic fixture, and independent expected output into one folder. Use Python 3.10 or later with its standard-library SQLite module.

python3 loan-origination-lab.py \
  --fixture fixture.json \
  --expected expected.json \
  --db lo-05-lab.sqlite \
  --process LO-05
  • LO-05-current → verified.
  • LO-05-wrong-cohort-cutoff → hold. Reason mismatch:cohort_end. Source cohort_end is "2026-10-31". The saved value is "2026-10-30".

Use a new database for the first run. Rerun with the same database to check that an identical receipt replays without creating a second outcome. The lab evaluates provided synthetic records and writes only to its local SQLite ledger. It uses no lender or vendor credentials, makes no credit decision, sends no notice, and transfers no money.

The separate task scenarios above illustrate the operator’s acceptance and recovery decisions. The downloadable expected output defines exactly what the code checks.

Production validation and operating effort

Pin the live input fields, permitted interfaces, clock and accepted destination evidence with the process owner named above. Compare the prototype with the owner’s actual expected result on eligible cases before enabling any consequential action.

Track reached cases or work items, owner review minutes, unresolved exceptions and retries for acquisition performance review. Separate active repair from waiting for a source or approval. Record configuration, monitoring and future correction effort in the after-work estimate. The synthetic example supplies no measured customer savings.

Sources and related guides

AuthorsMage Team