How Algorithms Work, in Plain English
Demystifying recommendation systems to help you do your best work.
Weekly Biz Trivia - July 15th, 2026
In 2006, Netflix offered $1 million to anyone who could improve its recommendation algorithm by at least 10%. 3 years later, a team won the challenge. Yet, Netflix never launched the winning algorithm. Why? Because it was an 800-model Frankenstein hacked together to win a contest, but at scale it would have been far too costly to run. And by then, Netflix had pivoted from DVD delivery to streaming.
Today, Netflix says that its recommendation system drives about 80% of what people watch, and search accounts for the other 20%. Their recommendation systems are estimated save the company over $1 billion a year from preventing user churn. So yes, the algorithm is a black box that’s quietly running our lives, and also yes, it’s worth a fortune…
The “algorithm” has become something of a deity in our lives. Its ways are mysterious. Creators worship it. Users live by it without ever really understanding it. Unfortunately, that’s bred a low-grade cynicism over time.
During my time at Roblox and now at Substack, creators constantly ask me, “Why is my growth slowing down? How come the algorithm isn’t picking up my stuff as much? What can I do to be better?”
The answer is almost always a messy “it depends.” Rarely is there a silver-bullet explanation I can conveniently point to. Algorithms have countless inputs. They optimize for multiple objectives at once, and they’re constantly changing. It’s effectively impossible for any human to predict exactly what will happen if you change one input. So in that sense, yes, the algorithm is a black box. But it’s not as mysterious as it seems, and it most certainly is not a god.
My partner always likes to say the anti-climax usually prevails. He’s mostly right in this case. There’s no scary, omniscient algorithm. If you believe there is, you’re giving it far more credit for what it knows about you than it deserves.
And with that, I’ll now explain how algorithms work in the way I wish someone had explained it to me. By the end of this post, you’ll walk away understanding their mechanics, and what happens to your post the moment you hit publish.
The lifecycle at a glance
An algorithm, technically, is just a step-by-step set of instructions for solving a problem or running a computation. What most people call “the algorithm” is actually a whole pipeline, and the ranking model everyone fixates on is only one part of it. Building a feed happens in five stages, and it all starts with a step zero, before your post even exists:
Set the goal — what is the algorithm even trying to do?
Find candidates — who might this be for?
Light ranking and filtering — quick triage.
Heavy ranking — apply careful judgment.
Build the page — arrange it for a human.
Show the evidence — explain why you’re seeing it.
Most consumer platforms — Roblox and Substack, where I’ve worked, or Netflix, YouTube, Instagram, and TikTok — largely follow this same process.
Step 0 — Before anything, set the goal
When we build an algorithm, we first have to define its objective, which is usually several things at once. On Substack, for example, a set of objectives might be: Will you read deeply? Will you come back tomorrow? Will you subscribe?
Throughout the rest of this post, we’ll use a casting-call analogy to illustrate each concept. Hollywood producers go through a lot of steps to build the cast for a film, and it turns out to be eerily similar to how algorithms work.
Before a single audition, the director and producers write the brief: what does a successful cast actually look like for this film? It’s never one thing. Not just “a talented actor,” but “right for this role, has chemistry with the lead, is available for the shoot, and will bring an audience.” That brief is the objective function, the definition of success everything downstream optimizes toward, and like an algorithm’s goal, it’s usually several outcomes balanced at once.
These outcomes are what we call labels: the things the algorithm is trying to predict.
Using math to predict outcomes
To predict them effectively, the model gets trained on historical data, such as:
Raw activity. On a social network, this could be likes, comments, shares, saves, and hides on posts.
Attributes of the users themselves, such as the device they’re on, the country they’re in, how long ago they signed up, and even their operating system.
Each of those signals is called a feature in machine-learning speak. But initially, we don’t know which features matter more than others, or by how much. Engineers will go through several rounds of training a model in order to simulate outcomes using each of these features as inputs. Each iteration of the model gets progressively better at identifying positive outcomes – e.g., time spent, retention, or purchases – and bad outcomes – e.g., abandoned sessions, blocks, reports, etc.
However, an algorithm’s predictions are only as good as the data you give it. They are only trained on historical data, so it is important to have a “golden dataset” that represents future real-world situations as accurately as possible. As the saying goes, “past performance does not guarantee future results.” We’re making an educated guess with the data available to us about whether an outcome we hope to achieve (retention, spend, and so forth) will actually occur.
Precision and recall
We use two units of measurement to determine how effectively these algorithms are predicting our desired outcomes:
Precision: In our film production metaphor, of all the actors you called back among those who auditioned, how many of them turned out to be good actors? A director with high precision will rarely waste an audition slot on someone who bombs.
Recall is a measure of how many great actors you missed out on. Of all of the actors out there who would have been great for the part, how many did you successfully identify and call back? A high rate of recall means the director did not let a great fit go unnoticed.
Here’s a hypothetical Substack example:
Suppose you feed the Substack algorithm a sample of a thousand posts, and 100 of them actually drive subscriptions. In our simulations, the model predicts that 10 posts are likely subscription drivers, 9 of which actually do drive subscriptions. This means our precision is a healthy 90%, but since it only caught nine out of the 100 actual subscription-driving posts, our recall is a dismal 9%. Even though precision is really good, it’s a poor model in practice because it fails to catch a lot of good outcomes before they occur. In ML, a good model is supposed to push both precision and recall as close as possible to 100%, though in reality, you’re always having to trade one against the other to balance coverage versus accuracy.
As data gets stale, precision and recall will decay over time, so it’s important for platforms to continuously retrain their models. Most platforms retrain on a daily basis as new data and labels flow in.
In the days of yore, models used to be trained to maximize click-through rates, but unsurprisingly, that created perverse incentives that rewarded short-term engagement. Now, platforms have since shifted their algorithms’ objectives to rewarding meaningful interactions. Substack rewards deep reading, Roblox rewards longer play sessions. In all cases, real, authentic engagement is the ultimate goal.
Step 1 — Finding candidates (retrieval)
Let’s say you spent hours or days on your post, and you finally hit ‘Publish.’ It then gets indexed into a machine-readable format that allows a system to recognize who wrote it, when it was written, what it’s about, and so forth. We’ve now reached the retrieval stage.
In our film production metaphor, retrieval is like an open casting call. Since you cannot possibly consider all 8 billion people on the planet, you do a rough first pass to identify the population of individuals who might fit the role using an existing database of headshots, names, ages, appearances, and physical locations. It’s an ancillary glance to answer a simple question: is there someone in this large group who could plausibly work at all? The people being considered are your posts, and the algorithm is the director.
Once a user loads their feed, the algorithm compares your post’s fingerprint against every other post’s fingerprint that was identified in that swathe and narrows it down to a smaller list of several hundred candidates.
Bigger companies like Roblox and TikTok even have separate candidate generators for different goals, such as retention, monetization, and so on. The better your content performs for users in each of those buckets, the higher you will rank for that particular objective. But because there are multiple objectives being weighed against each other, it doesn’t guarantee that you will show up first, but it will certainly help the changes of your content being “retrieved” more often.
Step 2 — Light ranking and filtering
Simply being retrieved does not guarantee eyeballs. Among all candidates, be it posts or actors being retrieved, the next step is to triage them from various sources and then apply some housekeeping and filtering on top. This is what we call light ranking.
Back to our metaphor, light ranking is like the initial headshot and resume screen. A casting assistant is going through that stack of applicants fast and tossing the obvious noes and whittling down the shortlist. There is not much depth in assessing the candidates at this stage, but it enables you to roll out the obvious misfits, either as deemed by the algorithms’ scoring or by manual interventions (such as whether the user muted, blocked, or hid content from a given author).
We also proactively cap how many posts can move to the next round because the candidate pool can run into the millions, and ranking all of them would be extremely expensive.
This is also where newer features like Instagram’s “Your Algorithm” come into play. More platforms are now letting you describe what you want more or less of in your feeds. It’s part of a broader movement from social platforms to hand a little bit of control back to users. Crucially, though, whatever users say they want from a feed is not going to be deterministic, since they’re not steering the algorithm directly. Rather, your input is treated as an additional feature in the ranking model. You can select topics or even describe in plain language what you would like to see more or less of, which influences but does not guarantee how your feed is constructed.
Step 3 — Heavy ranking (the careful judgment)
Now that we’ve whittled the candidate set to a smaller pool, say a hundred or so, in a roughly stack-ranked order, the next step is a more computationally precise version of ranking, also known as Heavy Ranking. This also guarantees the best result surfaces to the top.
There’s a lot at stake at this step because, similar to casting an actor in a film for a role, you can only pick one post to go at the top. On mobile devices, they can take up the majority or entirety of the viewport. That is valuable screen real estate, so anything irrelevant or objectionable and will detract from the user’s experience and cause them to abandon their session.
Heavy ranking is analogous to the audition stage in filmmaking. The director is spending real time with each of the finalists and assessing them against the specific role, predicting whether they will actually be great in the film. This is a heavily time-consuming and deliberate process, which is why we save it for the end.
In algorithms, we apply a personalized score, which is a predictor of relevance to a given user, using a richer set of signals that were previously too expensive to compute on the entire population. The goal is to determine whether you are going to spend money, whether you’re going to engage deeply, and so on.
It turns out if you have a lot of money and people, you do crazy things. Take TikTok, for example, which has gone the extra mile to use inputs like your device’s gyroscope to detect whether you are facing the ceiling, which ostensibly means you’re lying down. That might inform ranking differently than if you were sitting upright at your desk with your phone facing forward…how spooky.
Once heavy ranking is completed, now you have a fully personalized and stack-ranked list of content that is most likely to accomplish the composite goal we set out to achieve by the algorithm. To add more complexity, the weights of each of those outcomes, or what we call alphas in ML speak, can matter more or less depending on the type of user we’re talking about. For example, if a new user is loading their feed, they’re probably less likely to spend money early on, and we might weigh more favorably on deep engagement instead.
Step 4 — Building the page
Some platforms will stop there and just deliver the fully ranked list back to you, but that’s risky because it can lead to some strange results. And so most platforms still apply some editorial judgment on top.
On Substack, if you simply showed everyone their top-scoring posts in order, you get something technically optimized but potentially odd to look at. Perhaps you’ll see five Substack notes in a row, three posts from the same writer back to back, and little variation. We need to have a final layer of editorial and product judgment on top of the raw scores before building the page.
In our metaphor, this is the difference between filming all the scenes and actually stitching and editing it together. Even if you have a perfect cast, the directors and editors still have to arrange their performances into a cohesive, flowing sequence to give the audience what they want. Page construction does something similar in your feeds by spacing out content, mixing formats, and eliminating any of the strange edge cases that pure ranking would cause.
N.B.: Mature platforms like Netflix and Roblox have a separate algorithm for page construction as well. This is more appropriate for platforms that have content libraries for browsing purposes, but less so for social feeds. The page construction algorithm tries to answer the question not of “is this individual piece of content relevant for a given user,” but “is this grouping of content relevant?” The output is a list of rows, and explains why Netflix’s “Continue Watching” row always bounces around. It’s trying to predict what combo of rows is most amenable to your long-term retention. Now you know!
Step 5 — Showing the evidence
Bear with me because this is the final step. Up to this point, the algorithm has computed the most relevant stuff for you and attempted to build a feed that looked great. How does a user know that this is the most relevant thing for them at any given time? There’s no visual indication.
Once the page is constructed, the final step is getting the algorithm to explain itself to you. This is what we call evidence: small cues that show you why something is being recommended. We actually live and breathe this evidence every day without even knowing it.
On Netflix, for example, evidence might be a row called “Because you watched Bridgerton,” drawing on your past behavior and explaining why you might like these shows in a plainly understood way. On Substack, a version of evidence is saying, “Your friend just subscribed to take things further.” Evidence can even be chosen by its own dedicated algorithm that selects the visual cue to show what is predicted to most likely resonate with you.
There is a whole science behind this called evidence personalization. During my time at Roblox, I worked a lot on this, partnering closely with veterans from Netflix and Meta who invented these constructs. The unambiguous takeaway from all these years of experimentation was that adding a touch of explainability to recommendations can dramatically improve engagement to the point where it’s almost as important as the ranking of content itself. That tracks, because evidence builds trust, and trust is what keeps you engaging and coming back.
What this means for you
If you made it this far, congratulations. You hopefully now have a fundamental understanding of how algorithms and recommendation systems work.
And if you’re just dabbling with machine learning, or interviewing for a job in a similar space, I hope this guide was useful. I wrote it in a way that I wish was explained to me when I didn’t know the first thing on algorithms. If you’re job searching, whether it’s in product or any discipline, here’s a recent post I wrote about 3 interviewing skills to master to lock more offers.
To sum it up, your post is about to travel through a goal, a casting call, a screen, an audition, an edit, and a final note to the reader explaining why they should care. There isn’t a single magic trick that governs all of this, which is exactly why the algorithm worshipping, sage burning naysayers are preaching a farce.
The objectives underneath almost every modern recommendation system have shifted toward deep engagement over the immediate click. If you’re a Substack creator, this should also be welcome news. The algorithm isn’t really a gameable system as it’s grown in complexity. It’s a machine built to find the people who will genuinely love what you made. Your job hasn’t really changed: make something worth loving, from a place of realness and trust, and the platform will take care of the rest.










This is really interesting, thanks for posting. I had a vague inkling of some of this, but had not seen it outlined with such clarity.
The elephant in the room, for me at least but which anecdotally seems to be an experience shared by a fair number of people: if feed algorithms are doing all this clever stuff, why are they so bad at it?
My perception of my experience is that almost all platforms have got progressively worse over time, in terms of their feeds and what the algorithm is up to. Netflix used to offer me interesting stuff very swiftly and easily, but I rarely find anything to watch now. Instagram used to show me what I was interested in (friends, family, professionals in certain fields, some celebrities) but now only shows me random slop from accounts I don't follow and would never follow. LinkedIn does slightly better but the quality bar is exceptionally low on that platform to start with. I used to find something to watch in the first couple of rows without fail on YouTube, whereas in the last year I can scroll endlessly and not find a single thing of interest.
The end result of all of this, of course, is that I use the platforms less. I don't stay on them and scroll (and check out ads). I simply use the platforms less, or not at all in some cases (Instagram).
For all the science and rationales and social trickery you describe - it doesn't seem to actually be working.
The big exception for me is Substack, which currently does a great job at showing me fascinating stuff. So whatever you lot are doing that's different, keep doing it. :)
Re the Substack algorithm, does quantity matter? It seems that there is filtering for posts with "deep engagement", which is wonderful to know - but I wonder if, by up-ing your volume, you are increasing your odds in the pool of options in the early/light filtering stages? Also, I'm curious how much the follow vs subscriber metrics impact the algorithm?