Back office ops · Production

Dropbox improves ML-powered content suggestions, increasing clicked-suggestion sessions by over 50%

The problem

Dropbox's content suggestion system had to handle multiple disparate content types—files, folders, Google Docs, Microsoft Office documents, and Dropbox Paper—each stored in different systems with different metadata, making a unified ML pipeline infeasible.

First attempt

Initial approaches were insufficient: one-hot encoding of file extensions produced high-dimensional sparse vectors, a bag-of-characters model for filenames failed to capture semantic meaning, and naive grid search for hyperparameter tuning was costly and ineffective.

Workflow diagram · grounded in source
1
User event signals collected
trigger
“we fetched the events on the candidate files for the last 90 days”
2
File extension embedding trained
ai_action
“we trained the file extension embedding to predict the likelihood of two file extensions co-occurring in a single upload in Dropbox. This yielded a dense vector with low dimensionality, such that semantically similar file extensions (e.g…”
3
Filename encoded via char-RNN
ai_action
“we later moved to a sequential model with a char-RNN, which ingested one character of the filename at a time. The state vector of the char-RNN after all the characters were ingested would serve as the embedding vector for the filename.”
4
Submodel scoring per content type
ai_action
“we developed individual models for each of the content types”
5
Score normalization and ranking
ai_action
“we can map the score generated by the submodel via to get the expected CTR, which is a quantity comparable across submodels. Once we have the expected CTR for all suggestions from all submodels, we can rank the suggestions by the expecte…”
6
Online A/B test validation
validation
“We evaluated each of the improvements and layering techniques discussed in the earlier sections via online A/B tests on our users' logged-in home pages until we reached statistical significance”
7
Ranked suggestions delivered
output
“which gave us the confidence to roll out the production model at scale”
Reported outcome

Dropbox increased the percentage of user sessions with at least one clicked suggestion by more than 50%, validating the combined multi-model approach via online A/B tests before rolling out at scale.

Reported metrics
User sessions with at least one clicked suggestionmore than 50%
Click-through rate for folders vs filesmeasurably higher
Reported stack
dbxlearnchar-RNNBayesian OptimizationGoogle DocsMicrosoft Office 365
Source
https://dropbox.tech/machine-learning/using-machine-learning-to-predict-what-file-you-need-next-part-2
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

Dropbox increased the percentage of user sessions with at least one clicked suggestion by more than 50%, validating the combined multi-model approach via online A/B tests before rolling out at scale.

What tools did this team use?

dbxlearn, char-RNN, Bayesian Optimization, Google Docs, Microsoft Office 365.

What results were reported?

User sessions with at least one clicked suggestion: more than 50%; Click-through rate for folders vs files: measurably higher (source-reported, not independently verified).

What failed first in this deployment?

Initial approaches were insufficient: one-hot encoding of file extensions produced high-dimensional sparse vectors, a bag-of-characters model for filenames failed to capture semantic meaning, and naive grid search for…

How is this back office ops AI workflow structured?

User event signals collected → File extension embedding trained → Filename encoded via char-RNN → Submodel scoring per content type → Score normalization and ranking → Online A/B test validation → Ranked suggestions delivered.