Classify and cluster business records into industries using LLMs

Read the full interview experience this question came from →

Quick Overview

Design a system that uses large language models to classify or cluster business records, such as names and addresses, into industries like banking, tech, healthcare and pharma. It tests problem framing, data enrichment, staged LLM pipelines with constrained output, evaluation, cost control and monitoring.

Classify and cluster business records into industries using LLMs

Company: Intuit

Role: Software Engineer

Category: ML System Design

Difficulty: medium

Interview Round: Technical Screen

You have a large collection of business records with fields such as the business name and address. Design a system that classifies or clusters these businesses into industries such as Banking, Tech, Healthcare and Pharma, using large language models (LLMs). The interviewer posed it as an open-ended system design question, so the scale, the inputs available and the quality bar are yours to clarify. ```hint How much does a record say Consider how much a name and an address actually reveal about an industry, which records a cheap method can label confidently, and which ones need more context before any model can decide. ``` ```hint Trusting the labels Ask how you would measure whether the LLM's labels are right, and what the system should do when the model is unsure or answers with a label outside your list. ``` ### Clarifying Questions - Is the list of industries fixed in advance (classification), should the system discover groups on its own (clustering), or both? - How many records are there, how many new ones arrive per day, and is this a one-time backfill or also an ongoing service? - Which fields exist besides name and address, and may the system use outside data such as the business's website? - Can a business belong to more than one industry, and how fine-grained should the industries be? - Are any records already labeled, and what accuracy, cost and latency targets apply? - May the records be sent to an external LLM provider, or must the model run in-house? ### What a Strong Answer Covers - Problem framing: fixed taxonomy versus discovered clusters, single versus multiple labels, batch versus online - Record cleaning, deduplication and enrichment when name and address are too thin to decide - A pipeline that sends only the records that need it to the LLM, with output constrained to the taxonomy, a confidence signal and an abstain option - A clustering path for unknown industries, with clusters named and reviewed before they become labels - Evaluation on a labeled sample with per-industry metrics, and a human review loop that feeds corrections back - Cost and throughput estimates, privacy and prompt-injection handling, versioning, and monitoring for drift ### Follow-up Questions - Many records have only a generic name and an address. How do you avoid confident but wrong labels for them? - A new industry is added to the list. How do you relabel the affected businesses without reprocessing everything? - The LLM provider updates its model and the label distribution shifts. How would you detect it and respond? - A business name contains text that reads like an instruction to the model. How do you keep it from changing the output?

Overview: Design a system that uses large language models to classify or cluster business records, such as names and addresses, into industries like banking, tech, healthcare and pharma. It tests problem framing, data enrichment, staged LLM pipelines with constrained output, evaluation, cost control and monitoring.

Read the full Intuit Software Engineer interview experience this question came from

Intuit logo
Intuit
Nov 2, 2026
mediumSoftware EngineerTechnical ScreenML System Design
0
0

You have a large collection of business records with fields such as the business name and address. Design a system that classifies or clusters these businesses into industries such as Banking, Tech, Healthcare and Pharma, using large language models (LLMs). The interviewer posed it as an open-ended system design question, so the scale, the inputs available and the quality bar are yours to clarify.

Clarifying Questions Guidance

  • Is the list of industries fixed in advance (classification), should the system discover groups on its own (clustering), or both?
  • How many records are there, how many new ones arrive per day, and is this a one-time backfill or also an ongoing service?
  • Which fields exist besides name and address, and may the system use outside data such as the business's website?
  • Can a business belong to more than one industry, and how fine-grained should the industries be?
  • Are any records already labeled, and what accuracy, cost and latency targets apply?
  • May the records be sent to an external LLM provider, or must the model run in-house?

What a Strong Answer Covers Guidance

  • Problem framing: fixed taxonomy versus discovered clusters, single versus multiple labels, batch versus online
  • Record cleaning, deduplication and enrichment when name and address are too thin to decide
  • A pipeline that sends only the records that need it to the LLM, with output constrained to the taxonomy, a confidence signal and an abstain option
  • A clustering path for unknown industries, with clusters named and reviewed before they become labels
  • Evaluation on a labeled sample with per-industry metrics, and a human review loop that feeds corrections back
  • Cost and throughput estimates, privacy and prompt-injection handling, versioning, and monitoring for drift

Follow-up Questions Guidance

  • Many records have only a generic name and an address. How do you avoid confident but wrong labels for them?
  • A new industry is added to the list. How do you relabel the affected businesses without reprocessing everything?
  • The LLM provider updates its model and the label distribution shifts. How would you detect it and respond?
  • A business name contains text that reads like an instruction to the model. How do you keep it from changing the output?