- Scott H Young - https://www.scotthyoung.com/blog -

Designing the Perfect Practice Loop

All this week I’ve been sharing lessons to prepare for a new session of Rapid Learner [1].

Previously, I wrote about why now is the perfect time to start an ultralearning project [2], and gave three different paths you can take to come up with ideas. I also shared pitfalls people make [3] in choosing their project, particularly the peril of indirectness.

Today I want to get into the weeds and talk about a useful concept to think about learning any skill, whether it’s math, art, languages or business: practice loops.

What is a Practice Loop?

Listen to this article

A practice loop is an activity, or group of activities, you repeat over and over again while learning something. For example:

The concept can get a little fuzzy. Many loops aren’t actually straightforward repetitions. You may never write the same essay twice. In this case, the loop isn’t writing a particular essay, but the overall process for writing essays.

Similarly, each thing you learn may have more than one loop. Drills are smaller loops that isolate parts of what you do in a bigger loop. A programmer may have a loop for a whole software project, a loop for each module or feature, and smaller loops for little bits of code she writes.

Despite these wrinkles, I think keeping the overall picture of loops in mind is very helpful, since it can help you think about what goes into your practice efforts and how to make them more efficient.

Designing Your Practice Loop

The first step is to figure out what your loops are. What are the activities you repeat over and over again when learning a subject. You can’t improve a loop you’re not even aware you have!

The next step is to analyze the loop for different parts to see whether you might be able to make improvements. Faster learning is often the result of identifying a weakness in your current loop and reinforcing it so that it is sturdier.

Here are a few places to look:

1. Match: Does my loop match the skill or subskill I’m trying to improve?

The first place is to check whether the loop you’re engaging in really is matching the skill you need to perform in a real situation.

A vocabulary drill that is aimed for giving you words to speak in a real conversation, but only has you recognize words by their spelling is a poor match. The result may be that you’ll probably occasionally recognize the words in print, but you may not be able to speak them aloud in many situations.

A first place to improve your loop, therefore, is to look for ways you can match it closer to the demands of a real situation.

2. Feedback: Can I get better, more accurate feedback after each iteration?

Always look at the feedback you get in each repetition. What could be made more accurate? What information could you get that is currently missing?

My portrait drawing challenge [4] was largely inspired by realizing that you can get much better feedback drawing from a picture if you superimpose a transparent version of the original image on top of your work. That gives way more information about what kinds of mistakes you’re making than simple guesswork.

Some other ideas:

3. Ideal: Do I understand the process I’m trying to loop?

A mistake many make is thinking that most of the improvement in performance comes from simply doing the same thing over and over again until it is perfect. Although this is true (and perhaps necessary) for some loops, this overlooks an important fact: sometimes a different process altogether will create better results. In such a situation, repeating an inefficient technique won’t make you a master, but simply ingrain bad habits.

Try to make explicit what your ideal process ought to look like. Then ask yourself if you’re reaching this ideal when you perform the skill, or are you taking short-cuts around the method you know will work best? If it’s the latter, adjusting your loop to consciously emulate an ideal is good practice.

4. Speed: How many loops can I do per hour? Per month?

Assuming you are hitting your ideal, the next place to look for optimizations is to simply stop wasting time and do more of the loops you need to do. Many of my projects followed a similar pattern: identify a core loop that works for learning the subject, then be relentless about optimizing time to get the most iterations in possible.

So, if you’ve decided that doing flashcards is important for a subject, then if you can maintain one hundred new flashcards per day plus reviews, you’ll be learning faster than if you only do ten. If you’re painting one piece a day you’ll progress faster than if you’re doing one a month. If you’re speaking twice a week, you’ll get better than if you’re speaking twice a year.

There’s a risk here of getting speed without getting an ideal process. Doing a bad loop faster doesn’t help. But once you’ve got a good enough loop, the obvious strategy is to simply do as much as you can.

Today’s Homework

The best way to learn is to do, not just sit and read. Try this quick exercise:

  1. Write in the comments what your current practice loop is for something you’re learning now.
  2. Give one suggestion for how you might improve the loop, based on what I’ve suggested above.

In truth, optimizing your practice loop depends on a lot more than the basic ideas I was able to sketch here. In Rapid Learner [1], I devote an entire week to covering practice, with several lessons (including a 2+ hour deep dive specifically devoted to spaced repetition systems).

In the next lesson, I want to zoom out a little and consider not just success with a single learning project, but how that builds into continual improvement throughout your whole life.