Boston Consulting Group Data Science Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Boston Consulting Group hiring for Data Science roles
Boston Consulting Group is a global management consulting firm known for strategy work and frameworks such as the growth-share matrix. It advises clients on strategy, digital transformation, operations and sustainability. In India it has consulting offices and capability centres, and it hires associates, analysts, data scientists and engineers, including for its technology and AI unit known as BCG X.
For Data Science roles, this Boston Consulting Group practice set focuses most on Machine Learning (7), Statistics and Probability (6), Computer Vision (5), Deep Learning and NLP (4). It has 5 easy, 32 medium, 3 hard questions, so you can start easy and work up to the harder ones.
Company type
Consulting
Headquarters
Boston, USA
Main India offices
Mumbai, New Delhi, Bengaluru, Chennai
Boston Consulting Group Data Science interview process
Online assessment (case or aptitude based)
Case interview round 1
Case interview round 2
Final round with senior leadership
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for Boston Consulting GroupStart 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.
✓ 3 questions free • Unlock the rest in seconds
01
What is stratified sampling in a train-test split?
Stratified splitting keeps the class proportions the same in the training and test sets. If 5 percent of customers churn, both sets will have about 5 percent churners. Without it, a small or imbalanced dataset can give a test set with very few positives and unstable metrics. In scikit-learn you pass stratify=y to train_test_split or use StratifiedKFold for cross-validation.
As the number of independent trials grows, the sample average converges to the true expected value, which is why larger samples give more stable estimates.
Calibration checks whether predicted probabilities match real frequencies (e.g. 70% predictions are right about 70% of the time). Fix with Platt scaling or isotonic regression.
It projects data onto orthogonal directions of maximum variance to reduce dimensions, remove correlation and speed up models, at some cost of interpretability.
P(A given B) = P(B given A) x P(A) / P(B). In a medical test it converts test accuracy and disease prevalence into the real chance a positive result means disease.
06
Write a prompt template for classifying customer support tickets.
System: You classify support tickets for an e-commerce company. Categories: payment, delivery, refund, account, other. Rules: choose exactly one category; if unsure, choose other; do not invent details. Return JSON with fields category and reason, reason under 20 words. Then two short examples showing a ticket and the expected JSON. User: Ticket: {ticket_text}. Keep the template fixed and test it on 100 labelled tickets before rollout.
07
Your LLM gives different summaries for the same document on different runs, but auditors need consistent output. What do you do?
Set temperature to zero or near zero and fix other sampling settings, and use a seed where the API supports it, though outputs may still vary slightly. Pin the exact model version. Use a structured output format with fixed fields, and reduce ambiguity in the prompt. Cache and store each generated output with its inputs and version, so the stored result, not a regeneration, is what auditors see.
08
How is an image represented for a deep learning model?
An image is a numeric array of height by width by channels, where a colour image has three channels, usually RGB, with pixel values from 0 to 255. Libraries differ: OpenCV loads BGR in HWC order, while PyTorch expects tensors in CHW order with a batch dimension in front. Before training you convert to float, scale to 0-1 and normalise with the mean and standard deviation used by the pretrained model.
A Vision Transformer splits an image into fixed patches, such as 16x16, flattens each into a token embedding, adds position embeddings and processes them with self-attention. Every patch can attend to every other patch from the first layer, giving global context. CNNs have built-in locality and translation biases, so they learn well from smaller datasets. ViTs need more data or strong pretraining but scale very well and are now common backbones.
10
How do you turn text columns into features for a tabular model?
Simple options are length, word count and keyword flags. TF-IDF vectors capture important words and work well with linear models. For meaning, use sentence embeddings from a pretrained model and optionally reduce them with PCA. You can also train a separate text classifier and feed its predicted score as one feature. Fit any vocabulary or encoder on training data only to avoid leakage.
11
Your notebook runs on your laptop but fails on a colleague's machine. How do you make the work reproducible?
First pin the environment: a requirements.txt or conda environment file with exact versions, or a Docker image. Set random seeds for NumPy, scikit-learn and any framework you use. Remove hard-coded local paths and read them from a config file. Make sure data comes from a shared, versioned location. Finally, restart the kernel and run the notebook top to bottom, so hidden cell order bugs are caught before sharing.
12
You must classify support messages into 40 categories, but some categories have only 20 examples. What do you do?
Start with a pretrained sentence embedding model plus a simple classifier, or fine-tune a small transformer with class weights. For the rare categories, try few-shot approaches such as SetFit or an LLM with examples in the prompt, and generate or collect more examples. Merge categories that are rarely distinguishable. Report per-class F1 rather than overall accuracy, and route low-confidence predictions to a human queue.
13
Which activation functions do you know and when to use them?
ReLU for hidden layers, sigmoid for binary outputs, softmax for multi-class outputs and tanh when zero-centred outputs help; Leaky ReLU avoids dead neurons.
The receptive field is the region of the input image that can influence one activation. Early layers see small patches like edges, and deeper layers see larger regions, enabling recognition of whole objects. It grows with kernel size, depth, stride and pooling, and dilated convolutions increase it without extra parameters. If the receptive field is smaller than the objects you care about, the network cannot capture their full context.
It lets a model weigh which input positions matter most for each output, computing weighted combinations of values from query-key similarity. It is the core of transformers.
16
Your product image classifier works on studio catalogue photos but fails on photos users take with their phones. Why, and what do you do?
This is domain shift: user photos have clutter, blur, poor lighting and odd angles that the model never saw. Collect and label a sample of real user photos and evaluate on them separately. Add augmentation for blur, noise, colour jitter, rotation and random crops, and fine-tune on a mix of studio and real images. Monitor accuracy on user photos in production, since that is the distribution that matters.
17
Your SQL result does not match the number on the official dashboard. How do you resolve it?
I would first align definitions: date range, time zone, filters like test users or cancelled orders, and whether the metric counts users or events. Then compare at a smaller grain, by day or by city, to find where the gap starts. I would read the dashboard's underlying query and check data refresh times. Once found, I would document the agreed definition so the same mismatch does not repeat.
Bootstrapping estimates the uncertainty of a statistic by resampling your data with replacement many times, computing the statistic on each resample, and looking at the spread of results. It gives confidence intervals for things with no simple formula, like the median, a ratio or a model metric such as AUC. It needs no normality assumption, but it relies on the sample being representative and can be slow on very large data.
19
Your test shows a 2 percent lift in conversion, but revenue per user went down. What do you do?
Do not ship on conversion alone. Check whether the change shifted buyers to cheaper items, increased discount usage or pulled in low-value orders. Break down revenue into conversion times average order value, look at item mix, and confirm the revenue drop is statistically meaningful rather than noise. Then go back to the agreed primary metric and guardrails; if revenue is the business goal, it should guide the decision.
SELECT
customer_id,
MIN(order_date) AS first_order,
MAX(order_date) AS last_order,
MAX(order_date) - MIN(order_date) AS days_between,
COUNT(*) AS orders
FROM orders
GROUP BY customer_id
ORDER BY days_between DESC;
-- PostgreSQL: DATE minus DATE gives days; use DATEDIFF in other engines
A holdout is a small share of users, say 2 to 5 percent, kept away from a set of launched features for months. Comparing them with everyone else measures the cumulative, long-term impact of many shipped changes, which individual short tests can overstate because of novelty effects or winner's curse. It is useful for recommendation systems, notifications and marketing, but it costs some value from users who miss improvements.
24
How would you explain a statistical concept to a non-technical manager?
I start with the decision they care about, not the formula. Once a sales manager asked why a 3 percent lift was not significant. I explained that with only 200 customers, the result could easily happen by chance, like getting 6 heads in 10 coin tosses. I showed a simple range chart of the confidence interval and suggested running the test longer. He agreed, and the extended test gave a clear answer.
25
What is the difference between COUNT(*), COUNT(column) and COUNT(DISTINCT column)?
COUNT(*) counts all rows, including rows with NULLs. COUNT(column) counts only rows where that column is not NULL. COUNT(DISTINCT column) counts unique non-NULL values. For example, in an orders table, COUNT(*) is the number of orders, COUNT(coupon_code) is orders that used a coupon, and COUNT(DISTINCT customer_id) is the number of unique buyers. Mixing them up is a common reporting bug.
26
Tell me about a time you stopped a team from shipping a change based on a flawed experiment.
Situation: a team wanted to launch a feature after a test showed a 6 percent lift. Task: as the reviewing data scientist, validate it. Action: I found that assignment was triggered after users clicked into the feature, so treatment had only engaged users. I explained the selection bias simply, proposed assigning at app open, and helped rerun it. Result: the true lift was under 1 percent, and we added assignment checks to the review template.
27
What do ACF and PACF plots tell you about a time series?
The ACF plot shows correlation between the series and its own lags, including indirect effects through intermediate lags. The PACF shows the correlation at each lag after removing the effect of shorter lags. For a stationary series, a PACF that cuts off after lag p suggests an AR(p) term, and an ACF that cuts off after lag q suggests an MA(q) term. Spikes at lag 7 or 12 reveal weekly or yearly seasonality.
28
What is correlation and why does it not imply causation?
Correlation measures linear association between variables (-1 to 1). A third factor, reverse causality or chance can create it, so causation needs controlled experiments.
29
Write a Python function to compute IoU between two bounding boxes given as (x1, y1, x2, y2).
Usually preprocessing differs between training and serving. Check that the same pipeline object was saved, not just the estimator, and that category order, missing value handling and scaling match. Compare library versions, feature types like strings versus integers, column order, and time zones in date features. Send the same few rows through both paths and compare features step by step to find the first mismatch.
32
What is the difference between a Pandas Series and a DataFrame?
A Series is a one-dimensional labelled array: one column of values with an index. A DataFrame is a two-dimensional table made of several Series that share the same index, and each column can have its own dtype. Selecting one column, like df['price'], gives you a Series. Selecting with a list, like df[['price']], gives you a DataFrame. Many methods work on both, but the output shape is different.
ANOVA, analysis of variance, tests whether three or more group means are equal. It compares variation between groups to variation within groups using an F statistic. For example, comparing average order value across four city tiers. A significant result says at least one mean differs but not which one, so you follow up with post-hoc tests like Tukey's HSD. It assumes independent samples, roughly normal residuals and similar variances.
34
Users say your internal chatbot gives outdated policy answers. What is the likely cause and fix?
The knowledge index probably still holds old document versions, or the model is answering from its training data instead of retrieved context. Fix the ingestion pipeline to re-index on document change and remove superseded versions. Store effective dates in metadata and filter or boost the latest. Instruct the model to answer only from provided context and show the source with its date, so users can verify it.
35
Write SQL to compute a 7-day rolling average of daily active users.
WITH daily AS (
SELECT activity_date, COUNT(DISTINCT user_id) AS dau
FROM events
GROUP BY activity_date
)
SELECT activity_date, dau,
AVG(dau) OVER (ORDER BY activity_date
ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS dau_7d_avg
FROM daily
ORDER BY activity_date;
Bias is error from overly simple assumptions (underfitting). Variance is sensitivity to the training data (overfitting). More model complexity lowers bias but raises variance — aim for the lowest total error using cross-validation and regularization.
Use grid search, random search or Bayesian optimisation with cross-validation, starting with a coarse random search and narrowing the promising ranges.
38
Tell me about a time you had to learn a new deep learning framework or tool quickly.
Situation: my internship project used PyTorch, but I had only used Keras. Task: build a text classifier within two weeks. Action: I followed the official tutorials for two days, rebuilt a small Keras model in PyTorch to compare, and asked a senior to review my training loop. Result: I delivered the model on time with 88 percent F1. I learned that rebuilding something familiar is the fastest way into a new tool.
39
How does K-means clustering work and how do you choose k?
Use target or frequency encoding with cross-validation, hashing, embeddings or grouping rare categories, instead of huge one-hot matrices.
Tips to crack the Boston Consulting Group Data Science interview
Practise interviewer-led and candidate-led cases with a partner, paying attention to clear structure, hypotheses and summarising recommendations.
Work on quick, accurate calculations and chart reading, since case interviews often include data interpretation under time pressure.
For BCG X or analytics roles, be ready for coding, SQL and machine learning questions in addition to business cases.
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; Boston Consulting Group interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Boston Consulting Group Data Science interview?
Candidates usually go through 4 stages: Online assessment (case or aptitude based); Case interview round 1; Case interview round 2; Final round with senior leadership. 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 Boston Consulting Group Data Science interview?
This practice set leans on Machine Learning (7), Statistics and Probability (6), Computer Vision (5), Deep Learning and NLP (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Boston Consulting Group interviewers ask you to walk through real work.
Are these the exact questions asked at Boston Consulting Group?
No. These are curated practice questions that match the skills and difficulty usually tested in consulting interviews like Boston Consulting Group's. They are not a leaked or verified list of past questions.
Where does Boston Consulting Group hire Data Science professionals in India?
Boston Consulting Group has large teams in Mumbai, New Delhi, Bengaluru, Chennai. Openings and locations change often, so check the Boston Consulting Group careers page and filter by city and experience.