This page is meant to provide a brief, high-level, non-technical overview of drift diffusion modeling so that you can get an intuition of what Drift Diffusion Models do before you delve into more technical resources.
At the bottom of the page, you’ll find a what is hopefully a short and non-overwhelming list of readings, tutorials, and tools for those who want to explore the technical side of DDMs or learn how to run one yourself.
Drift Diffusion Models (DDMs) are a class of formal models that use reaction time and choice data to capture how people make decisions under uncertainty. They assume that individuals continuously sample information from their environment until the accumulated evidence reaches a threshold, prompting a choice between alternatives (typically just two alternatives). A major strength of DDMs is that they reveal not just what decision was made, but how the decision was made.
According to the DDM, a person begins the decision-making process at a starting point between two decision thresholds (threshold separation: α, with the thresholds at α and 0). The position of this starting point reflects any preexisting bias toward one choice or the other (relative start point: z). From there, the individual begins to accumulate evidence, drifting toward one of the two thresholds. The speed and direction of this drift are captured by the drift rate (v), which reflects the quality and strength of the evidence being gathered. When the accumulated evidence reaches one of the thresholds, a decision is made. The model also includes a non-decision time (t), which accounts for processes not directly tied to the decision itself, such as perceptual encoding or the motor actions needed to carry out the response. In the sections that follow, each of these components is explored in more detail.
Threshold separation (also sometimes called a boundary) reflects how cautious a person is when making a decision. It represents the amount of evidence someone requires before committing to a choice.
As someone makes a decision, they drift toward one of two decision thresholds, each representing a possible choice. Once the accumulated evidence reaches one of these thresholds, a decision is made. The boundary/threshold expands (higher) / collapses (lower).
A higher threshold means the person is prioritizing accuracy over speed, taking more time to reach a decision.
A lower threshold suggests a preference for speed over accuracy, allowing decisions to be made more quickly with less evidence.
As a decision-maker considers a choice (represented here as a circle), they drift toward one of two decision thresholds (represented here as blue and purple vertical lines), each representing a possible option.
The relative start point (z) captures a person's initial bias toward one decision over the other, before any evidence is even gathered.
This bias might stem from personal preferences, prior experiences, demographics (if relevant), or even the layout of the task itself. When the start point shifts closer to one decision threshold, it means less evidence is needed to choose that option.
A start point of 0.5 means there’s no bias, the decision-maker starts exactly halfway between the two options.
A start point closer to one threshold reflects a preference or expectation that nudges the decision in that direction.
When the starting point is closer to one threshold, less evidence is needed to reach that decision. In this case, the decision-maker (represented here as a circle) starts closer to Decision B, indicating a built-in preference before any evidence is accumulated
Drift rate (v) reflects how quickly someone gathers evidence during a decision-making process.
A higher drift rate means clearer evidence and faster decisions. A drift rate near zero suggests uncertainty or ambiguous evidence, leading to slower responses.
Drift rate is influenced by factors like the clarity of the stimulus (e.g., blurry vs. sharp images), individual traits (like loss aversion), and familiarity with the task (more training usually speeds things up).
The sign of the drift rate also matters — a positive value indicates evidence is accumulating toward the upper decision threshold, whereas a negative value means it's drifting toward the lower threshold, effectively biasing the decision in that direction.
As a decision-maker (represented here as a circle) gathers evidence, they drift toward one of two decision thresholds. The steep path shows a faster drift rate, where strong evidence leads quickly to a decision. The shallower path reflects a slower drift rate, where weaker or more ambiguous evidence results in a longer decision time.
Non-decision time (t) captures everything that happens before and after the actual decision process. This includes:
Perceptual processing (e.g., seeing or reading the information)
Encoding and interpreting options
Motor response time (e.g., pressing a button)
Before you can run a Drift Diffusion Model, you’ll need some data. At a minimum, this includes:
The decision each participant made (more trials = better), and
How long each participant took to make those decisions (reaction time).
You will likely also want to include experimental conditions or predictor variables, like group assignments, demographics, or task difficulty, to explore how these factors influence decision-making, so make sure you record that data as well.
You can build this type of task using PsychoPy, and easily run it online through Pavlovia using PsychoJS to collect responses from remote participants.
Once you've collected your data, running a Drift Diffusion Model requires a bit more setup, especially on the computational side.
DDMs can be computationally intensive. While small models can run locally, larger or more complex analyses often require more processing power than a typical laptop can handle efficiently.
To run your model smoothly, consider using:
A virtual machine (e.g., Google Cloud, AWS, or Azure) or a dedicated high-performance computer or lab server.
Programming Libraries and Environments
Once you've decided where you want to run your DDM, the next step is selecting the right tools to run your DDM. I recommend using the HDDM Python package, a popular library for fitting DDMs using hierarchical Bayesian methods. For a smooth and reproducible setup, it’s best to run HDDM inside a Docker container, which keeps all your dependencies organized and consistent.
For more information on how to set this up, follow the tutorials linked above, they’ll walk you through both the Docker setup and the HDDM installation process step by step.
Here is another helpful tutorial to get you started ➡️ https://journals.sagepub.com/doi/10.1177/00027642231207073
One question I’ve always had about Drift Diffusion Models is how they actually break down decisions and reaction times into their four core components: threshold separation, relative start point, drift rate, and non-decision time.
While there are some excellent technical explanations available (linked in the resources below), I thought it may be useful to include the simplified intuition I’ve found most helpful: the DDM uses differences in the shape of reaction time distributions to estimate each component.
The image below illustrates how patterns in response speed and accuracy help the model infer what’s happening during the decision-making process.
Short Reading List:
The original DDM paper → Ratcliff, R. (1978). A theory of memory retrieval. Psychological Review, 85(2), 59–108. https://doi.org/10.1037/0033-295X.85.2.59
An understandable technical explanation → Ratcliff, R., & McKoon, G. (2008). The Diffusion Decision Model: Theory and Data for Two-Choice Decision Tasks. Neural Computation, 20(4), 873–922. https://doi.org/10.1162/neco.2008.12-06-420
How many participants do I need? → Lerche, V., Voss, A., & Nagler, M. (2017). How many trials are required for parameter estimation in diffusion modeling? A comparison of different optimization criteria. Behavior Research Methods, 49(2), 513–537. https://doi.org/10.3758/s13428-016-0740-2
An accurately titled paper→ Myers, C. E., Interian, A., & Moustafa, A. A. (2022). A practical introduction to using the drift diffusion model of decision-making in cognitive psychology, neuroscience, and health sciences. Frontiers in Psychology, 13, 1039172. https://doi.org/10.3389/fpsyg.2022.1039172
How to set up a DDM environment → Pan, W., Geng, H., Zhang, L., Fengler, A., Frank, M. J., Zhang, R.-Y., & Chuan-Peng, H. (2025). dockerHDDM: A User-Friendly Environment for Bayesian Hierarchical Drift-Diffusion Modeling. Advances in Methods and Practices in Psychological Science, 8(1), 25152459241298700. https://doi.org/10.1177/25152459241298700
What questions can I answer using DDM? → Roberts, I. D., & Hutcherson, C. A. (2019). Affect and Decision Making: Insights and Predictions from Computational Models. Trends in Cognitive Sciences, 23(7), 602–614. https://doi.org/10.1016/j.tics.2019.04.005