The Risk Analyst at Prefr builds and monitors the credit policies that determine who gets a personal loan, at what rate, and at what limit. A single policy change can shift default rates by percentage points across tens of thousands of loans. The interview tests credit domain knowledge, SQL and Python fluency, and the ability to make structured, defensible decisions under ambiguity. Two to four years of experience in banks, NBFCs, or fintechs is strongly preferred — generic analytics experience without lending exposure rarely passes.
SQL and Python assessment on credit data scenarios, a credit policy case study (typically a new segment expansion, a DPD spike investigation, or a scorecard governance decision), and a stakeholder round with the risk lead or a lender partner representative.
Prefr wants to expand into self-employed individuals with a CIBIL score between 680 and 720. Current policy only serves salaried employees. Design an approval policy for this segment from scratch, including pricing, risk controls, and a monitoring framework.
Why interviewers ask this
Tests whether the candidate can translate a business expansion goal into an executable, risk-controlled policy — the core output of this role. Weak candidates list generic eligibility conditions without addressing the specific risk profile of self-employed borrowers or the monitoring required to validate the policy in production. Strong candidates propose a structured pilot with explicit risk controls, a commercial rationale for the pricing adjustment, and a clear kill switch.
Example strong answer
The first thing I would resist is designing a full-scale rollout policy before we have any empirical data on how this segment actually performs on Prefr's books. Self-employed borrowers with CIBIL 680 to 720 are not an unknown population — banks and NBFCs have data on them — but Prefr's specific product, ticket size, and collections approach may produce different outcomes than industry averages. So I would design a pilot policy first, with a clear path to scaling if the pilot data confirms the risk assumptions.
Eligibility for the pilot: CIBIL score between 680 and 720, self-employed with a verifiable income source — GST registration for at least 2 consecutive filing years, or ITR filing showing consistent declared income for 2 years. The GST or ITR requirement is the key gate: it filters out informal self-employment where income is unverifiable, which is where the bulk of the default risk in this segment concentrates.
Loan parameters: maximum loan amount capped at ₹1.5 lakh versus ₹3 lakh for salaried borrowers at the same CIBIL band. The rationale is income volatility — self-employed income fluctuates seasonally and cyclically in ways that salaried income does not, so the same CIBIL score implies higher effective risk at a given loan size. Loan-to-income ratio cap: 35% of declared monthly income versus 50% for salaried, for the same reason.
Pricing: I would apply a risk-based premium of 150 to 200 basis points over the rate offered to salaried borrowers in the same CIBIL band. This compensates for the higher expected default rate and gives us a buffer to remain profitable even if the actual default rate comes in at the upper end of our confidence interval. The pricing also acts as a natural self-selection mechanism — genuinely creditworthy self-employed borrowers who have better options elsewhere will take them, and those who accept the rate are signalling that Prefr offers competitive value relative to their alternatives.
Hard risk controls: no DPD30+ on any tradeline in the last 12 months — no exceptions for this pilot. Reject if there are more than 4 hard enquiries in the last 90 days (enquiry velocity is a strong credit-stress signal regardless of CIBIL score). Reject if there is any prior settlement or write-off on any tradeline in the last 24 months. These controls are tighter than what we would apply to a salaried borrower with the same CIBIL score, which reflects the higher baseline uncertainty for this segment.
Monitoring framework: track DPD30+ for the pilot cohort at days 30, 60, and 90 post-disbursement. Pre-agreed kill switch: if DPD30+ in the pilot exceeds 6% at the day-30 interim read, pause new approvals in the segment immediately and convene a policy review before resuming. Pilot size: 1,000 disbursements over 60 days before any scaling decision. At 1,000 disbursements, we have adequate statistical power to estimate the default rate within a 2 to 3 percentage point confidence interval.
Follow-up questions
Write a SQL query that produces a portfolio health report showing DPD buckets (current, DPD 1-30, DPD 31-60, DPD 61-90, DPD 90+) by loan disbursement month for the last 6 months, including the NPA rate per cohort.
Why interviewers ask this
Building and maintaining portfolio monitoring reports is an explicit responsibility in the job description. This question tests whether the candidate can translate a standard risk reporting requirement into correct, efficient SQL — including handling the DPD logic, cohort grouping, and the NPA rate calculation correctly. Weak candidates produce syntactically valid SQL with logical errors in the DPD bucketing or the denominator calculation. Strong candidates also explain what they would look for in the output.
Example strong answer
The query aggregates outstanding principal into DPD buckets per disbursement cohort and computes an NPA rate as the ratio of non-current principal to total outstanding principal.
SELECT
DATE_TRUNC('month', disbursement_date) AS cohort_month,
COUNT(DISTINCT loan_id) AS total_loans,
SUM(outstanding_principal) AS total_outstanding,
SUM(CASE WHEN days_past_due = 0
THEN outstanding_principal ELSE 0 END) AS current_balance,
SUM(CASE WHEN days_past_due BETWEEN 1 AND 30
THEN outstanding_principal ELSE 0 END) AS dpd_1_30,
SUM(CASE WHEN days_past_due BETWEEN 31 AND 60
THEN outstanding_principal ELSE 0 END) AS dpd_31_60,
SUM(CASE WHEN days_past_due BETWEEN 61 AND 90
THEN outstanding_principal ELSE 0 END) AS dpd_61_90,
SUM(CASE WHEN days_past_due > 90
THEN outstanding_principal ELSE 0 END) AS dpd_90_plus,
ROUND(
SUM(CASE WHEN days_past_due > 0
THEN outstanding_principal ELSE 0 END) * 100.0
/ NULLIF(SUM(outstanding_principal), 0),
2
) AS npa_rate_pct
FROM loan_portfolio
WHERE disbursement_date >= DATEADD('month', -6, CURRENT_DATE)
AND loan_status != 'closed'
GROUP BY 1
ORDER BY 1;
A few implementation notes worth raising in the interview. The loan_status != 'closed' filter ensures we are only including active loans in the outstanding balance — closed loans have zero outstanding principal and would distort the NPA rate denominator. The NULLIF wrapper prevents a division-by-zero error if a cohort somehow has no outstanding balance. The days_past_due field needs to reflect the current DPD as of the report date, not the DPD at any point in the loan's history — I would confirm with engineering that this field is updated daily in the portfolio table rather than being a static snapshot.
In the output, the three things I would examine first: whether any single cohort has a current-balance percentage below 60% of total outstanding — that would indicate a cohort with a high proportion of delinquent accounts regardless of which DPD bucket they are in. Whether the DPD 31 to 60 and DPD 61 to 90 bands are growing relative to the DPD 1 to 30 band in recent cohorts, which would indicate that early-stage delinquencies are not being resolved and are rolling forward into deeper buckets. And whether the most recent cohorts show NPA rates significantly above the 6-month average at the same months-since-disbursement, which would be an early warning signal of deteriorating origination quality.
Follow-up questions
The lender partner review is in 3 days. They want a 90-day forward loss provision estimate for the current portfolio. Walk through exactly how you would build this.
Why interviewers ask this
Directly from the job description — "calculate loss provision for the portfolios and provide loss forecasting of future months." Tests whether the candidate knows the expected credit loss framework and can execute it quickly and clearly under a time constraint with a real lender audience in mind.
Example strong answer
I would build this using a simplified ECL (Expected Credit Loss) framework, segmented by DPD bucket. The framework multiplies outstanding principal by a probability of default and a loss given default for each segment, summing across the portfolio to produce a total provision amount. The inputs come from our own historical roll rate and recovery data, not industry averages, because lender partners will immediately ask how these assumptions were derived.
Step one is pulling the current portfolio snapshot: total outstanding principal per DPD bucket as of today. Step two is applying PD and LGD assumptions per bucket, derived from Prefr's last 12 months of observed roll rates and collections recovery rates.
For a typical Prefr portfolio, reasonable starting assumptions would be: Current (DPD 0) — PD 1.5% over 90 days based on the observed roll rate from current to DPD30+, LGD 55% post-collections recovery. DPD 1 to 30 — PD 18%, LGD 60%, reflecting that a significant portion of this bucket self-cures in early collections but a meaningful fraction rolls to DPD60+. DPD 31 to 60 — PD 45%, LGD 65%. DPD 61 to 90 — PD 72%, LGD 70%. DPD 90+ — PD 90%, LGD 75%, reflecting that accounts in this bucket rarely cure without significant collections effort and some proportion will be written off.
The provision for each segment is: outstanding principal × PD × LGD. Sum across segments for the total portfolio provision.
For the lender presentation, I would present three scenarios: a base case using the assumptions above, a stress case applying a 20% uplift to PD across all buckets (simulating a deterioration in collections effectiveness or a macro shock), and a release case applying a 15% reduction in PD (simulating better-than-expected collections outcomes). The range between stress and release gives the lender a sense of the uncertainty in the estimate and demonstrates that we have thought about downside risk, not just presented a single point estimate.
The one-page summary I would bring to the lender review includes: total provision in rupees, breakdown by DPD bucket, the key assumptions underlying the PD and LGD estimates with the historical data periods they are based on, and a flag if any cohort is showing roll rates materially above the historical average — because that is what lenders are most concerned about and they will ask about it regardless.
Follow-up questions
The collections team tells you that salaried borrowers in the ₹40K–₹60K monthly income band in Tier 2 cities respond poorly to SMS nudges but well to agent calls. How do you incorporate this information into the credit policy?
Why interviewers ask this
Directly from the job description — "working closely with collections to ensure the feedback loop is closed and learnings are relayed into credit decisioning strategies." Tests whether the candidate can translate an operational observation into a quantified policy change, rather than treating collections feedback as someone else's problem.
Example strong answer
The collections team's observation is valuable, but before changing credit policy based on it I need to quantify what it actually means for our loss assumptions. The fact that this segment responds poorly to SMS but well to agent calls does not mean they are higher credit risk — it means their effective recovery rate is lower if we deploy the same collections approach we use for the rest of the portfolio. That is a different problem with different implications for policy.
The first thing I would do is pull the 90-day recovery rate for this specific segment — salaried, ₹40K to ₹60K income, Tier 2 cities — and compare it to the broader portfolio's recovery rate for loans that entered DPD30+. If the segment's recovery rate is, say, 52% versus a portfolio average of 63%, that means our LGD for this segment is understated in our current model, which in turn means our provisioning for this segment is too low and our pricing may not be compensating for the true expected loss.
With that quantification done, I have three policy levers to consider. First, pricing: if the effective LGD for this segment is 10 to 15 percentage points higher than our model assumes, the rate should be adjusted upward by approximately 100 to 150 basis points to maintain the same risk-adjusted return. This is the cleanest lever because it does not restrict credit access — it prices the risk correctly. Second, loan size cap: reducing the maximum loan amount for this segment from ₹2 lakh to ₹1.5 lakh limits our exposure per account even if recovery is lower. Third, tightening the approval threshold: raising the minimum CIBIL floor for this segment from 680 to 700 would reduce approval volume but select for a higher-quality subset with better historical repayment behaviour.
In parallel, I would feed the collections team's observation back through a different channel: ensure that agent call capacity is prioritised for this segment at DPD15 — before they hit the standard SMS-first workflow — so that the effective recovery rate improves without requiring a policy change. This is the operations fix; the policy adjustment is the pricing fix. Both need to happen.
I would document the change in the policy version log with the collections data, the quantified LGD adjustment, and the commercial rationale for whichever lever we apply, so it can be reviewed at the next lender internal risk committee meeting.
Follow-up questions
You have two credit scorecards running in production — Scorecard A built 18 months ago and Scorecard B built 6 months ago. How do you decide which one to retire?
Why interviewers ask this
Tests understanding of model lifecycle management and the ability to make a data-driven governance decision rather than defaulting to "the newer one is better." The risk function is responsible for ensuring the scorecard in production is actually discriminating creditworthy from non-creditworthy applicants in the current population, and that responsibility requires formal evaluation, not intuition.
Example strong answer
I would evaluate both scorecards on four dimensions simultaneously and make the retirement decision based on the combined evidence across all four, not any single metric in isolation.
The first dimension is discrimination power: how well does each scorecard separate applicants who will default from those who will not, on a recent holdout population? I would run both scorecards on the last 3 months of applications with known outcomes — applications disbursed more than 90 days ago where we can observe DPD90+ — and compare AUC and Gini coefficients. The scorecard with the higher AUC on current data is more discriminating on the population we are actually seeing today. If Scorecard B has higher AUC, it is performing better for the current task regardless of how much newer it is.
The second dimension is calibration: does each scorecard's predicted default rate match the observed default rate at each score decile? I would plot predicted versus actual default rates by decile for both scorecards. A well-calibrated scorecard tracks actual outcomes within 10 percentage points at each decile. If Scorecard A is systematically over-predicting defaults in the 650 to 700 CIBIL band — that is, it is too conservative for that segment — it is declining creditworthy applicants and leaving origination volume and interest income on the table. Miscalibration in either direction is a problem, but over-conservative miscalibration is commercially costly and worth quantifying before the lender review.
The third dimension is stability: is either scorecard's score distribution shifting month over month as the incoming population changes? I would compute the Population Stability Index for both scorecards over the last 6 months. A PSI above 0.2 indicates the scorecard is no longer seeing the population it was built on — it was trained on data from a period that no longer reflects current applicants. Given that Scorecard A was built 18 months ago, it is at higher risk of a high PSI, especially if Prefr has shifted partner channels or marketing spend since then.
The fourth dimension is coverage efficiency: what are the reject rates for each scorecard, and is the incremental volume that one scorecard approves relative to the other generating acceptable default rates in practice? If Scorecard B approves 8% more applicants than Scorecard A at the same total DPD30+ threshold, and those marginal approvals are showing default rates within 1 percentage point of the overall portfolio average, Scorecard B is generating profitable incremental volume. If the marginal approvals have a 6% default rate versus a 2.8% portfolio average, Scorecard A's conservatism is partially justified.
The decision: if Scorecard B outperforms Scorecard A on AUC and calibration with an acceptable PSI, I would shadow-run both scorecards in parallel for 30 days — meaning we use Scorecard B to make live decisions but log what Scorecard A would have decided — then formally retire Scorecard A after validating the shadow results confirm no unexpected differences in the marginal population.
Follow-up questions
CRED's risk interviews expect you to speak the language of credit natively. Know your DPD definitions, ECL framework, PSI, roll rates, and PD/LGD/EAD cold. Generic analytics framing without lending vocabulary signals that you will have a slow ramp and will not be ready to engage with lender partners independently. Candidates who ground every answer in Indian personal lending realities — bureau score distributions, NBFC regulatory context, collections dynamics in Tier 2 cities — consistently stand out.