Company Interview Questions · Analytics & AI Firms
LatentView & Affine: Analytics / Data Science
LatentView & Affine: Analytics / Data Science Interview Experiences (2025–26). Rounds, real reported questions and model answers, compiled from public candidate reports (sources at the end). Practice mode hides every answer: say your answer first, press Show answer, then rate yourself. Use 🔁 Review again to build your revision list and 🎲 Random question for a quick drill.
About this interview
Compiled from public candidate reports for LatentView Analytics Assistant Manager roles (Bengaluru, April 2025: marketing analytics, a Python data-cleaning task; Chennai, 2026, offer; Bengaluru, 2026) and a public Affine Data Scientist question guide. The questions are paraphrased, and the model answers are written by EasyLearnSpace.
| LatentView | Affine | |
|---|---|---|
| Role | Assistant Manager (analytics / DS) | Data Scientist |
| Rounds | One in-person panel (shortlisted candidates); others not detailed | Guide: DSA, ML, probability, SQL and A/B testing questions |
| Reported questions | Data-cleaning methods with Python on a sample DataFrame; easier ML algorithm questions | Share of high earners per department, moving average, cohort retention, churn, feature importance, A/B significance, neural network design |
| Outcome | 1 offer (Chennai); 2 not selected | Guide-based |
01Rounds at a glance
- Analytics consultancies test practical data wrangling, SQL, stats and business framing.
- For managerial roles, expect stakeholder and delivery questions too.
02Questions and model answers
Q1
Clean this DataFrame in Python. What steps and syntax would you use?
import pandas as pd, numpy as np
df = pd.read_csv("campaign.csv")
df.columns = df.columns.str.strip().str.lower().str.replace(" ", "_") # tidy names
df = df.drop_duplicates()
df["date"] = pd.to_datetime(df["date"], errors="coerce", dayfirst=True) # fix types
df["spend"] = pd.to_numeric(df["spend"].astype(str).str.replace(r"[₹,]", "", regex=True), errors="coerce")
df["channel"] = df["channel"].str.strip().str.title().replace({"Fb": "Facebook"})
df["spend_missing"] = df["spend"].isna().astype(int); df["spend"] = df["spend"].fillna(df.groupby("channel")["spend"].transform("median"))
q1, q3 = df["spend"].quantile([.25, .75]); df["spend"] = df["spend"].clip(upper=q3 + 1.5 * (q3 - q1))
df = df.dropna(subset=["date", "campaign_id"])
- Explain each step: names, duplicates, types, standardised categories, missing values (with a flag), outliers, required keys. Then validate with
df.info()anddescribe().
Q2
SQL: rank departments by the share of employees earning more than ₹20 LPA.
SELECT department,
AVG(CASE WHEN salary > 2000000 THEN 1.0 ELSE 0 END) AS high_earner_share,
RANK() OVER (ORDER BY AVG(CASE WHEN salary > 2000000 THEN 1.0 ELSE 0 END) DESC) AS rk
FROM employees
GROUP BY department
HAVING COUNT(*) >= 10; -- avoid tiny departments dominating
Q3
How would you measure the ROI of a marketing campaign?
- Incrementality first: use a holdout or geo test, or a matched control, to estimate the incremental conversions and revenue caused by the campaign.
- ROI = (incremental gross margin − campaign cost) / campaign cost.
- Attribution for always-on channels: marketing-mix modelling (MMM) with adstock and saturation, or data-driven multi-touch attribution where tracking allows.
- Report confidence intervals and cost per incremental acquisition, and recommend a budget reallocation.
Q4
Is data separable? How would you check whether two classes are linearly separable?
- Visual: pair plots or PCA/t-SNE for intuition.
- Formal: fit a linear SVM with a very large C (a hard margin) or a perceptron. Zero training error means linearly separable. Linear programming feasibility is the exact test.
- If not separable: kernels (RBF), feature crosses, trees or neural networks.
Q5
As an assistant manager, how do you manage a client analytics project with a tight deadline?
- Scope tightly: agree the 2–3 key questions and the deliverable format on day 1.
- Plan: a work breakdown with owners, daily stand-ups, risks (data access) escalated early.
- Quality: peer reviews of SQL and logic, sanity checks against known totals.
- Communicate: a mid-point preview to the client; then the final story with insight, recommendation and impact.
- Show delivery + people management + client handling.
Q6
A/B test: how do you decide whether a result is significant and worth shipping?
- Pre-register the metric, the minimum detectable effect, α and power, and the duration.
- Check for sample-ratio mismatch; compute the lift with a confidence interval (z-test or bootstrap).
- Significant and practically meaningful (above the MDE) and guardrails intact → ship. Otherwise iterate.
- Watch for peeking, novelty effects, and multiple comparisons.
03How to prepare
- Practise pandas cleaning and SQL aggregations by hand.
- Revise A/B testing, marketing analytics (incrementality, MMM) and ML basics.
- For managerial roles, prepare delivery and stakeholder stories.
Sources
- Glassdoor: LatentView Analytics Assistant Manager reviews (2025–26)
- Interview Query: Affine Analytics guide
Created by Ajeetkumar