Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Tiger Analytics hiring for Machine Learning roles
Tiger Analytics is an AI and analytics consulting company working with clients in consumer goods, retail, insurance, banking and healthcare. Its India offices handle data engineering, data science and ML engineering work. It hires for data analysts, data scientists, data engineers and ML engineers. Many projects run on major cloud data platforms.
For Machine Learning roles, this Tiger Analytics practice set focuses most on MLOps and Deployment (6), Classification Models (4), Model Evaluation and Tuning (4), Data Preprocessing and Feature Engineering (4). It has 4 easy, 21 medium, 5 hard questions, so you can start easy and work up to the harder ones.
Company type
Analytics
Headquarters
Santa Clara, California, USA
Main India offices
Chennai, Bengaluru, Hyderabad
Tiger Analytics Machine Learning interview process
Online assessment (SQL + Python + statistics)
Technical round 1
Technical round 2 or case round
Managerial round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for Tiger AnalyticsStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
Naive Bayes applies Bayes' theorem to compute the probability of each class given the features, assuming features are conditionally independent given the class. That independence assumption is rarely true, hence 'naive', but the model still works well for text classification like spam detection. Variants include Gaussian, Multinomial for word counts and Bernoulli for binary features. It is fast and needs little data.
02
A new model has slightly better AUC but worse precision in the top 1,000 cases the team acts on. Which do you pick?
I would pick the model that does better where decisions are actually made. If the team only reviews the top 1,000 cases, precision at 1,000 or recall at that cut-off matters more than global AUC. I would make that the primary metric in future comparisons, and confirm the result holds across several time periods before switching.
03
How would you build a quick baseline before trying complex models?
Use a DummyClassifier or DummyRegressor to see the score of a trivial guess, then a simple model.
from sklearn.dummy import DummyClassifier
base = DummyClassifier(strategy='most_frequent')
base.fit(X_train, y_train)
print(base.score(X_test, y_test))
Any real model must clearly beat this number; otherwise the features carry little signal.
Batch scoring runs on a schedule, for example nightly churn scores for all customers written to a table; it is simple, cheap and tolerant of slow models. Real-time inference returns predictions on request, such as fraud checks during payment, and needs low latency, high availability, scaling and fresh features. Choose real-time only when the decision must happen at the moment of the event.
05
Explain the bias in AUC when classes are extremely imbalanced, with a numeric intuition.
With 100 fraud and 100,000 genuine cases, a false positive rate of 1 percent looks tiny on the ROC curve, but it means 1,000 false alerts versus at most 100 true ones, so precision is below 10 percent. ROC-AUC can be 0.97 while the model is impractical. Precision-recall curves expose this because precision directly depends on the count of false positives.
06
Labels for your loan model arrive only after 6 months. How do you monitor it meanwhile?
I would rely on proxy signals: input data drift with PSI, prediction score distribution, approval rates by segment, and early indicators like first missed payment at 30 or 60 days. Once enough early outcomes arrive, I would check performance on these. I would also set up a delayed evaluation job that computes full metrics as labels mature and compares them with the validation baseline.
07
Your team retrains models manually in notebooks every month. How would you improve it?
I would convert the notebook into a versioned training pipeline with separate steps for data extraction, validation, feature building, training and evaluation, scheduled with Airflow or a cloud pipeline. Each run would log to MLflow, compare against the production model on a fixed holdout, and register the new model only if it passes thresholds. Promotion would stay a reviewed step, at least initially.
08
How do you prioritise when several teams ask you for models at the same time?
I estimate each request's business value, effort and urgency, then share a ranked list with my manager so priorities are agreed rather than assumed. For quick wins I offer a simple baseline first. In one quarter this helped us deliver a high-value churn model first while giving another team a dashboard-based interim answer, and both teams knew the timeline.
09
What is boosting and how is it different from bagging?
Boosting trains models sequentially, each one focusing on the errors of the combined previous models, which mainly reduces bias. Bagging trains models independently in parallel and averages them, which mainly reduces variance. Boosting uses shallow trees and a learning rate, and can overfit if run too long, so early stopping is important. Examples are AdaBoost, Gradient Boosting, XGBoost, LightGBM and CatBoost.
An SVM finds the hyperplane that separates classes with the maximum margin, and the points on the margin are the support vectors. The soft-margin version uses C to trade off margin width against misclassification. Kernels like RBF or polynomial let SVMs learn non-linear boundaries by implicitly mapping data to higher dimensions. SVMs need scaled features and become slow beyond roughly a hundred thousand rows.
11
Compare grid search, random search and Bayesian optimisation.
Grid search tries every combination of listed values; it is thorough but expensive and wastes trials on unimportant parameters. Random search samples combinations and usually finds good settings faster in high-dimensional spaces. Bayesian optimisation, as in Optuna or Hyperopt, builds a model of past trials to pick promising settings next, using fewer trials. Successive halving methods add early pruning of weak trials.
As the number of features grows, data becomes sparse in the feature space, distances between points become similar, and the amount of data needed to generalise grows rapidly. Distance-based methods like k-NN and k-means suffer most. Remedies include feature selection, dimensionality reduction such as PCA, regularisation and collecting more data. Text and genomics data often face this problem.
13
Why do skewed features often need a log or power transform?
Heavily right-skewed features like income or transaction amount have long tails that can dominate linear models and distance metrics. A log1p, Box-Cox or Yeo-Johnson transform compresses large values and makes the distribution closer to normal, which often improves linear and distance-based models. Yeo-Johnson works with zero and negative values. Tree models usually do not need these transforms.
Make the encoder tolerant: OneHotEncoder with handle_unknown='ignore' or infrequent_if_exist, or map unseen values to an 'Other' bucket. Monitor the share of unseen categories as a drift signal. If new categories become common, such as a new city launch, retrain with fresh data. Tests in the inference pipeline should include unseen values so the service never crashes.
16
How do you implement simple gradient descent for linear regression in NumPy?
Compute predictions, the gradient of MSE, and update weights in a loop.
import numpy as np
w = np.zeros(X.shape[1]); b = 0.0; lr = 0.01
for _ in range(1000):
err = X @ w + b - y
w -= lr * (2 / len(y)) * (X.T @ err)
b -= lr * (2 / len(y)) * err.sum()
Scale features first or the loop converges slowly.
Start with the right metrics, such as PR-AUC, recall at fixed precision or F1, not accuracy. Then use class_weight='balanced', resampling like random undersampling or SMOTE applied only on training folds, and threshold tuning based on business cost. Boosting models with scale_pos_weight also help. Stratified splits keep class ratios consistent across folds.
18
40 percent of values in an important income column are missing. What do you do?
I would study the missingness pattern first, for example whether self-employed applicants skip it. I would add a binary was_missing feature, impute with the median within relevant groups or use IterativeImputer, and compare against models that handle missing values natively, like HistGradientBoosting or XGBoost. I would also raise the issue with the data owner so collection can improve.
19
Build RFM features for customer segmentation in pandas.
In shadow deployment the new model receives a copy of live traffic and its predictions are logged but not used, so you can compare it with the current model safely. In a canary release a small share of real traffic, such as 5 percent, is served by the new model, and the share grows if metrics stay healthy. Both reduce the risk of a bad model affecting all users.
21
Explain a single prediction with SHAP for a tree model.
import shap
explainer = shap.TreeExplainer(model)
sv = explainer(X_val)
shap.plots.waterfall(sv[0])
shap.plots.beeswarm(sv)
The waterfall shows how each feature pushes one prediction up or down from the base value; the beeswarm shows global importance and direction. TreeExplainer is fast and exact for tree ensembles.
I would convert model outcomes into money or time using a cost matrix agreed with the business, for example savings from caught fraud minus the cost of reviewing false alerts. I would compare this against the current process or a rule-based baseline on holdout data and show a range rather than one point. A short note on assumptions keeps the number honest.
24
How do you create lag and rolling features for a sales forecasting model in pandas?
Sort by item and date, then shift so features use only past values.
df = df.sort_values(['item', 'date'])
g = df.groupby('item')['sales']
df['lag_7'] = g.shift(7)
df['roll_mean_28'] = g.transform(lambda s: s.shift(1).rolling(28).mean())
The shift before rolling prevents the current day's sales from leaking into its own feature.
import lightgbm as lgb
m = lgb.LGBMClassifier(n_estimators=5000, learning_rate=0.05,
num_leaves=31, subsample=0.8, subsample_freq=1, colsample_bytree=0.8)
m.fit(X_train, y_train, eval_set=[(X_val, y_val)],
eval_metric='auc', callbacks=[lgb.early_stopping(100)])
print(m.best_iteration_)
The large n_estimators is only an upper limit; early stopping picks the real number.
26
Your house price model's residuals grow larger for expensive houses. What do you do?
That is heteroscedasticity, typical for price data that is right-skewed. I would model log(price) instead of price, which turns absolute errors into roughly percentage errors and stabilises variance. Then I would convert predictions back with exp and check residual plots again. Evaluating with RMSLE or MAPE also fits better when relative error matters more than absolute error.
27
Run k-means and plot the elbow and silhouette scores.
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
Xs = StandardScaler().fit_transform(X)
for k in range(2, 10):
km = KMeans(n_clusters=k, n_init=10, random_state=42).fit(Xs)
print(k, round(km.inertia_), round(silhouette_score(Xs, km.labels_), 3))
Look for the bend in inertia and a high silhouette value.
Use statsmodels on the numeric feature matrix with a constant added.
import pandas as pd
from statsmodels.stats.outliers_influence import variance_inflation_factor
from statsmodels.tools import add_constant
Xc = add_constant(X_num)
vif = pd.Series([variance_inflation_factor(Xc.values, i)
for i in range(Xc.shape[1])], index=Xc.columns)
print(vif.drop('const'))
Values above 5 to 10 indicate strong multicollinearity.
29
Why is logistic regression called regression if it is used for classification?
It models a continuous quantity, the log-odds of the positive class, as a linear function of features, which is regression in the statistical sense. The classification comes only when you apply a threshold to the predicted probability. This is why it outputs well-calibrated probabilities more naturally than many other classifiers.
30
How do you approach a time series forecasting problem differently from normal regression?
Time series data is ordered and autocorrelated, so random splits leak future information. I use time-based splits or TimeSeriesSplit, create lag and rolling-window features from past values only, and handle trend and seasonality. Baselines like last value or seasonal naive come first. Models range from ARIMA and Prophet to gradient boosting on lag features.
Tips to crack the Tiger Analytics Machine Learning interview
Revise machine learning algorithms, feature engineering and evaluation metrics, as technical rounds often go into depth.
Practise PySpark and SQL for data engineering roles, including data pipeline design on cloud platforms.
Prepare analytics case questions on demand forecasting or customer segmentation for retail and consumer goods clients.
Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
Practise the hard questions on this page aloud; Tiger Analytics interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Tiger Analytics Machine Learning interview?
Candidates usually go through 5 stages: Online assessment (SQL + Python + statistics); Technical round 1; Technical round 2 or case round; Managerial round; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.
Which topics should I prepare for the Tiger Analytics Machine Learning interview?
This practice set leans on MLOps and Deployment (6), Classification Models (4), Model Evaluation and Tuning (4), Data Preprocessing and Feature Engineering (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Tiger Analytics interviewers ask you to walk through real work.
Are these the exact questions asked at Tiger Analytics?
No. These are curated practice questions that match the skills and difficulty usually tested in analytics interviews like Tiger Analytics's. They are not a leaked or verified list of past questions.
Where does Tiger Analytics hire Machine Learning professionals in India?
Tiger Analytics has large teams in Chennai, Bengaluru, Hyderabad. Openings and locations change often, so check the Tiger Analytics careers page and filter by city and experience.