~/learn/ML System Design · Framework & problem framing

Framing business goals as ML tasks

Turn 'increase engagement' into a concrete prediction problem with labels.

5 min readlesson 2 of 15objectivelabelsmulti-task

why this matters

Interviewers test whether you can turn a fuzzy product goal into a concrete label a model can learn.

A business goal ('people should enjoy the feed more') is not an ML task. You must translate it into something a model can predict: given a user and a candidate post, predict the probability they will like, comment or watch for more than 10 seconds.

Common task types: binary classification (will this transaction be fraud?), regression (how long will delivery take?), ranking (order these 500 items for this user), and retrieval (find the 1,000 most relevant items out of 100 million).

Goal → task

business goal     'increase watch time'
      ▼
ML objective      predict P(watch > 30s | user, video)
      ▼
label             1 if watched > 30s, else 0
      ▼
decision          rank videos by predicted score

Real systems often predict several things at once — click, like, share, hide — and combine them into one score: score = w₁·P(click) + w₂·P(like) − w₃·P(hide). This is multi-task learning, and the weights are a product decision, not an ML one.

Interview trap

Optimizing pure click-through rate rewards clickbait. Mention that you'd include negative signals (hides, reports, quick bounces) or quality labels.

Pro tip

When asked 'what would you predict?', name the exact label and how it's collected from logs. Concrete labels are what separate strong answers from vague ones.

key takeaways

  • Name the exact prediction and label.
  • Combine several predicted signals into one score.
  • Include negative signals to avoid clickbait.

check your understanding

'Increase meaningful engagement' is best framed as: