Cognitive Effort Discounting Task - COGED

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Credits:
Millisecond thanks Jenny Crawford and the Braver lab at Washington University in St. Louis
for help fine-tuning this Cognitive Effort Discounting Task procedure!

for help fine-tuning this Cognitive Effort Discounting Task procedure!

Last Modified: January 10, 2026 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements a variant of the Cognitive Effort Discounting Procedure to establish indifference points (minimum price points) at which people start to discount ("devalue") monetary rewards paid for higher effort tasks in favor of less paid lower effort tasks.

This script uses the n-back procedure as the cognitive task.

Note: the script runs an updated version of the procedure used in the Braver Lab at Washington University in St. Louis)

References

Westbrook A, Kester D, Braver TS (2013). What Is the Subjective Cost of Cognitive Effort? Load, Trait, and Aging Effects Revealed by Economic Preference. Pessiglione M, ed. PLoS One 981 8:e68210.

Duration

20 minutes

Description

Participants are repeatedly asked to choose between a more difficult cognitive task with a higher earning potential or an easier cognitive task with less earning potential. Through a series of questions the participants' cognitive effort indifference point for the pair of tasks is determined (aka the price point at which participants start to devalue the potential higher pay for a challenging cognitive task in favor of less pay for a less challenging one).

In this script, the cognitive task chosen is the n-back working memory task. 4 levels of n-back tasks are used in this task (editable) with the 1-back being the designated 'easy' task.

The procedure is divided into 3 phases:

1. Participants get familiar with the n-back procedure and work through several rounds of n-back tasks for the different levels of N. The n-back levels are referred to by assigned colors.

2. Participants work through the indifference point estimation procedure (without actually performing the n-back tasks) for the 3 higher levels of N (1 vs.2; 1 vs. 3; 1 vs. 4) => 3 indifference points are estimated for each level of N tested

3. One of the participant's choices is randomly selected, the participant works through 5 (default) more rounds of n-backs with the selected N and promised reward.

•N-back Task (with letter stimuli)* •2-key n-back procedure*

The 2-key n-back task requires participants to press one key for targets (go) and another key for non-targets. Which stimuli are targets depends on the level of N:

For N=1 trials (1-back): - is the letter the same as the one that preceded it? If so (it's a target), and press "S". If not, press "K".

For N=2 trials (2-back): - is the letter the same as the one presented two trials before? If so (it's a target), and press "S". If not, press "K".

For N=3 trials (3-back): - is the letter the same as the one presented three trials before? If so (it's a target), and press "S". If not, press "K".

Etc.

Procedure

3 phases:

(1) Phase 1: n-back Practice

- by default, this script runs through 1 run of N-levels 1-4 (see section Editable Parameters to select N-levels and/or change number
of rounds) => 4 blocks of n-backs

- each n-back block runs for 20 trials (see section Editable Parameters to change the number of trials; the start trials that
cannot be target yet are not counted towards the trialcount)
Westbrook et al (2013) ran 64 trials per block.

- each block runs 25% targets (here: 5 target trials) (see section Editable Parameters to change the proportion)
!!!This script does not run target-lure trials (see Westbrook et al, 2013, p.2)
- the order of targets and nontargets is randomly determined

- this script uses a 2 key n-back procedure: one key (S) is used for target identification; another (K) for nontarget identification

- each level of N is assigend a particular letter color
the level of N is only referenced by assigned color
N1 = black
N2 = red
N3 = blue
N4 = purple
N5 = green
N6 = brown

- at the end of each block, participants receive feedback

Trial Sequence:
Letter (1500ms = response timeout) -> Fixation Cross (2000ms) -> Letter.....

Responses are only registered during letter presentations. Responses do not interrupt letter presentations.

after each level participants are asked to self-report on the 6 rating scales of the NASA TASK LOAD INDEX- Survey:
/mentalDemand
/physicalDemand
/temporalDemand
/performance
/effort
/frustration


(2) Phase 2: Indifference Point Estimations
- 3 Indifference Points for level of N tested (e.g. 3 different standard amounts are offered for each level of N)
- by default this script runs 54 trials = 3 levels of N (2, 3, 4) x 3 ips per N level x 6 trials
- the trials are presented in random order in a mixed design
- level of n-backs are referred to only by color
- the position (right/left) of the standard amount is randomly determined:
half the trials the standard amount appears on the right
- participants have 9s to make a choice (after 9s the black task is automatically assigned as the default choice)

Indifference Point Algorithm:
- the harder level N always offers a higher (fixed) reward (see section Editable Parameters),
- the possible reward for the easier 1-back starts at 1 but gets adjusted according to the choices made:
- if the harder choice was previously selected; the reward goes up (by half the previous adjustment)
- if the easier choice was previously selected; the reward goes down (by half the previous adjustment)
- Indifference Points: the adjusted reward for level 1 after the last choice (aka: the reward offered for level 1 on the
7th round)

(3) Phase 3: Actual Money Earning Phase (can be skipped; see parameters.phase3Runs for more info)
- one of the 3 (level of N: 2-4) * 6 (trials per level of N) * 3 indifference points per n-level = 54 choice trials
from Phase 2 is randomly selected by the computer
- the chosen N during that trial as well as the promised reward is used for another 5 (editable)
rounds of n-backs

This script does not provide any behavioral measure of actual 'effort' during phase 3

Stimuli

• the n-back task runs with consonants (see section Editable Stimuli)
• the size of the letters can be adjusted under section Editable Parameters

Instructions

provided by Millisecond as *.htm files.
To change instructions, edit the htm files directly (e.g. in TextEdit for Macs or Notepad for Windows).
Instructions have been generously shared by Jenny Crawford and her lab

Summary Data

File Name: cognitiveeffortdiscountingtask_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
startDate Date the session was run
startTime Time the session was run
subjectId Participant ID
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
ip12 Indifference points for the gain trials for comparing level1 to level 2
ip13 Indifference points for the gain trials for comparing level1 to level 3
ip14 Indifference points for the gain trials for comparing level1 to level 4
ip15 Indifference points for the gain trials for comparing level1 to level 5
ip16 Indifference points for the gain trials for comparing level1 to level 6
totalWinAmount The total win amount from phase 3
Phase 1 Variables
hitRateN1 Stores the hitrate (targets) for level1 trials
hit = pressing 's' for a target trial
hitRateN2 Stores the hitrate (targets) for level2 trials
hitRateN3 Stores the hitrate (targets) for level1 trials
hitRateN4 Stores the hitrate (targets) for level1 trials
hitRateN5 Stores the hitrate (targets) for level1 trials
hitRateN6 Stores the hitrate (targets) for level1 trials
crRateN1 Stores the correct rejection (non-targets) rate for level1 trials1
CR = pressing 'k' for a non-target trial
crRateN2 Stores the correct rejection (non-targets) rate for level2 trials1
crRateN3 Stores the correct rejection (non-targets) rate for level3 trials1
crRateN4 Stores the correct rejection (non-targets) rate for level4 trials1
crRateN5 Stores the correct rejection (non-targets) rate for level5 trials1
crRateN6 Stores the correct rejection (non-targets) rate for level6 trials1
Nasatlx Rating Ratings (Per Level Of Nback Run During Phase 1): On Scale: 1 (Very Low) - 21 (Very High)
mentalDemand1 Self-reported rating of mental demands for level1 round
physicalDemand1 Self-reported rating of physical demands for level1 round
temporalDemand1 Self-reported rating of temporal demands for level1 round
performance1 Self-reported rating of performance for level1 round
effort1 Self-reported rating of effort for level1 round
frustration1 Self-reported rating of frustration for level1 round
mentalDemand2 Self-reported rating of mental demands for level2 round
physicalDemand2 Self-reported rating of physical demands for level2 rounds
temporalDemand2 Self-reported rating of temporal demands for level2 round
performance2 Self-reported rating of performance for level2 round
effort2 Self-reported rating of effort for level2 round
frustration2 Self-reported rating of frustration for level2 round
mentalDemand3 Self-reported rating of mental demands for level3 round
physicalDemand3 Self-reported rating of physical demands for level3 round
temporalDemand3 Self-reported rating of temporal demands for level3 round
performance3 Self-reported rating of performance for level3 round
effort3 Self-reported rating of effort for level3 round
frustration3 Self-reported rating of frustration for level3 round
mentalDemand4 Self-reported rating of mental demands for level4 round
physicalDemand4 Self-reported rating of physical demands for level4 round
temporalDemand4 Self-reported rating of temporal demands for level4 round
performance4 Self-reported rating of performance for level4 round
effort4 Self-reported rating of effort for level4 round
frustration4 Self-reported rating of frustration for level4 round
mentalDemand5 Self-reported rating of mental demands for level5 round
physicalDemand5 Self-reported rating of physical demands for level5 round
temporalDemand5 Self-reported rating of temporal demands for level5 round
performance5 Self-reported rating of performance for level5 round
effort5 Self-reported rating of effort for level5 round
frustration5 Self-reported rating of frustration for level5 round
mentalDemand6 Self-reported rating of mental demands for level6 round
physicalDemand6 Self-reported rating of physical demands for level6 round
temporalDemand6 Self-reported rating of temporal demands for level6 round
performance6 Self-reported rating of performance for level6 round
effort6 Self-reported rating of effort for level6 round
frustration6 Self-reported rating of frustration for level6 round

Raw Data

File Name: cognitiveeffortdiscountingtask_raw.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
trialnum The number of the currently recorded trial (built-in Inquisit variable)
trialnum is a built-in Inquisit variable; it counts all trials run
even those that do not store data to the data file.
phase1BlockCount The total number of n-back practice blocks run (phase 1)
phase3BlockCount The total number of phase 3 n-back blocks run
phase 1 = n-back practice
2 = indifference point assessment
3 = final n-back runs to earn money
n The level of N currently tested
rewardLevel For choice phase only
1 (lowest reward)-3(highest reward)
stimulusItem.1 Phase1/phase3: n-back trials: the letter presented
stimulusNumber.1 N-back trials: the item number of the presented letter
currentTarget N-back trials: the item number of the current target
response The response of the participant (scancode of response button)
nBack trials
31 = S (for n-back trials: correct target response)
37 = K (for n-back trials: correct notarget response)
choice trials
16 = Q (left box selected during Choice Trials)
25 = P (right box selected during Choice Trials)
remaining trials
57 = spacebar
0 = no response
correct The correctness of the response (1 = correct; 0 = otherwise)
has no meaning for phase 2 trials
latency How fast a participant responded within the given timeframe (in ms)
Phase1/Phase3: n-back trials => latencies of 1500ms (stimulus presentation time) are no responses
The Following Variables Have Only Meaning For Phase2
n1X 25pct = the N1 reward was located in the left box
75pct = the N1 reward was located in the right box
level1Reward Phase 2: the currently offered reward for choosing the 1-back task
levelNReward Phase 2: the currently offered reward for choosing the higher level N-back task
The Following Variables Have Only Meaning For Phase3
roundWinAmount Phase 3: the amount won after the current phase 3 round
totalWinAmount Phase 3: the total amount won during phase 3
Current Nasatlx Rating Variables: On Scale: 1 (Very Low) - 21 (Very High)
mentalDemand Self-reported rating of mental demands
physicalDemand Self-reported rating of physical demands
temporalDemand Self-reported rating of temporal demands
performance Self-reported rating of performance
effort Self-reported rating of effort
frustration Self-reported rating of frustration

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design Parameters
runN2 True(default) vs. false: if true, the 2-back task is runtrue
runN3 True(default) vs. false: if true, the 3-back task is runtrue
runN4 True(default) vs. false: if true, the 4-back task is runtrue
runN5 True vs. false (default): if true, the 5-back task is runfalse
runN6 True vs. false (default): if true, the 6-back task is run
by changing the default settings, the instructions have to manually updated in coged_intro2.htm
false
trialsPerNBack Number of trials per block of n-back tasks 20
propTargets The proportion of target trials
the proportion should result in an integer number of target trials
given parameters.trials_per_nback
0.25
practiceRuns Number of blocks a particular n-back level is repeated during practice
(e.g. by default, 1 block per n-back level are run, Westbrook et al, 2013, ran 3 runs of each level)
1
phase3Runs Number of times, the randomly selected n-back procedure from phase 2
is run (default: 5, Westbrook et al, 2013, ran 10 blocks)
by setting this parameter = 0; phase 3 can be skipped altogether.
5
Reward Parameters
rewardPractice The reward used for choice practice trials2.00
rewardN21 The reward for N1/N2 discounting trials that use Reward_N2_1 as the fixed amount for N2-selections (referred to as rewardLevel = 1)2.00
rewardN31 The reward for N1/N3 discounting trials that use Reward_N3_1 as the fixed amount for N3-selections2.00
rewardN41 The reward for N1/N4 discounting trials that use Reward_N4_1 as the fixed amount for N4-selections2.00
rewardN51 The reward for N1/N5 discounting trials that use Reward_N5_1 as the fixed amount for N5-selections2.00
rewardN61 The reward for N1/N6 discounting trials that use Reward_N6_1 as the fixed amount for N6-selections2.00
rewardN22 The reward for N1/N2 discounting trials that use Reward_N2_2 as the fixed amount for N2-selections (referred to as rewardLevel = 2)3.00
rewardN32 The reward for N1/N3 discounting trials that use Reward_N3_2 as the fixed amount for N3-selections3.00
rewardN42 The reward for N1/N4 discounting trials that use Reward_N4_2 as the fixed amount for N4-selections3.00
rewardN52 The reward for N1/N5 discounting trials that use Reward_N5_2 as the fixed amount for N5-selections3.00
rewardN62 The reward for N1/N6 discounting trials that use Reward_N6_2 as the fixed amount for N6-selections3.00
rewardN23 The reward for N1/N2 discounting trials that use Reward_N2_3 as the fixed amount for N2-selections (referred to as rewardLevel = 3)4.00
rewardN33 The reward for N1/N3 discounting trials that use Reward_N3_3 as the fixed amount for N3-selections4.00
rewardN43 The reward for N1/N4 discounting trials that use Reward_N4_3 as the fixed amount for N4-selections4.00
rewardN53 The reward for N1/N5 discounting trials that use Reward_N5_3 as the fixed amount for N5-selections4.00
rewardN63 The reward for N1/N6 discounting trials that use Reward_N6_3 as the fixed amount for N6-selections4.00
Timing Parameters For N-Back
startFixationDuration The duration (in ms) of the first fixation cross (and key reminder) at the beginning of each
n-back block (default: 3000ms)
3000
soa The stimulus onset asynchrony (time in ms between onset of one letter and onset of the next) 3500
stimulusPresentationTime The duration (in ms) of each letter
this duration equals the response timeout and cannot be greater than parameters.SOA
2000
Timing Parameters For Choice Task
maxDecisionTime The maximum time that a decision can be made during the choice task9000
Ui Parameters
letterSize The height of the letters in proportion to canvas height 20%
fixationCrossSize The height of the fixation cross in proportion to canvas height 10%
Debug Parameter
debugmode 0 = script runs in testmode; 1 = script runs in debugmode (target alerts during n-back trials)0