Cognitive Effort Expenditure for Rewards Task - CEEfRT

Technical Manual

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

Created: December 22, 2025

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

Script Copyright © Millisecond Software, LLC

Background

This script implements the Cognitive Effort Expenditure for Rewards Task (cEEfRT); a measure of reward motivation for cognitive work (Gamundi & Wardle, 2018). The implemented procedure is based on Treadway's et al (2009) EEfRT task and Botvinich's et al (2009) Cognitive Effort Discounting Task.

References

Lopez-Gamundi, P & Wardle, MC (2018). The cognitive effort expenditure for rewards task (C-EEfRT): A novel measure of willingness to expend cognitive effort. Psychol Assess, Sep;30(9):1237-1248. doi: 10.1037/pas0000563. Epub 2018 Apr 5. PMID: 29620381.

Treadway MT, Buckholtz JW, Schwartzman AN, Lambert WE, Zald DH (2009) Worth the ‘EEfRT’? The Effort Expenditure for Rewards Task as an Objective Measure of Motivation and Anhedonia. PLoS ONE 4(8): e6598. doi:10.1371/journal.pone.0006598

Botvinick MM, Huffstetler S, McGuire JT (2009) Effort discounting in human nucleus accumbens. Cogn Affect Behav Neurosci 9:16–27.

Duration

23 minutes

Description

Participants have to select between an Easy and a Difficult categorization task. Both tasks involved magnitude and/or parity tasks.

Numbers ranging from one to nine (excluding five) are presented on screen in either blue or a yellow font. If the number is blue, participants need to indicate as quickly as possible whether the number was even or odd (parity task). If the number is yellow, participants need to indicate as quickly as possible whether the number was <5 or >5 (magnitude task).

EASY task: - same task throughout (no switch task) - max. 4 judgments required for completion - response reminders

DIFFICULT task: - alternating tasks (switch task) - max. 19 judgments required for completion - no response reminders

Participants make their selection knowingly under 3 different win probabilities (aka they might not win money even if they are successful; particularly not if the win probabilities are low). By default, E selects the Easy task and I selects the Difficult task (can be edited under section Editable Parameters).

Procedure

Practice:
- 4 trials: The first 2 trials provide the choices (Easy->Difficult; if something else is chosen, the choice is "corrected");
for the last 2 trials participants are free to choose either task.
Reward Amounts for the difficult task (same as for test) are selected randomly from 4 options (without replacement);
Win probabilities (same as for test) are randomly selected (with replacement).
In this script, practice trial provide a reminder description of the tasks for the "Ready" screen (Ready screen is presented for 2000ms)

practice performance is required to be 100% correct to move on to the test session.
If performance is below 100%, the practice session gets repeated. The maximum number of practice rounds is set to 10 (editable parameter).
After 10 practice rounds, all participants move on to the test session. Variable 'practiceSuccess' can be used as a filter to filter
out those participants who have never mastered the practice session.

Test:
- 20 minutes total: the number of trials run per participant during that timeframe depends on
- how fast they make their selection
- the type of task they select
- how fast they complete the task

- 3 win probabilities: 88%, 50%, 12% (can be edited under section Editable List; the probabilities are 'true' probabilities and not frequencies)
- difficult task reward amounts: $1.24-$4.30 (in this script: in steps of $0.43)
=> 8 levels (1.24,1.68,2.11,2.55,2.99,3.43,3.86,4.3; mean = 2.77)
- each level of probability (3) is paired with each level of difficult task reward (8) twice within every 48 trials in this script
=> expected money for successfully completing difficult task for (every) 48 trials: $2.77 * 48 * average(0.12, 0.5, 0.88) = $66.48
=> IF twice as many (successful) easy trials are run in the same time frame: = $1 * (2 * 48) * average(0.12, 0.5, 0.88) = $48
=> a maximum payoff can be set in this script (if it's reached, the task is terminated)
- the presentation of the different combinations of difficult reward tasks x probabilities was randomized for 2 lists of 48 trials and is presented
in fixed order to each participant (see list.rewardsDifficult).


Trial Sequence:
Selection Screen (max. 5000ms)*->Ready Screen (1000ms)->Task Screen (max.7s or max.21s)->success/failure feedback screen (2000ms)->potentially win screen (2000ms)

•If no selection is made within 5000ms, the computer randomly selects a task for the participant

Stimuli

digits: 1-9 (except 5) in blue and yellow

Instructions

The instructions are not original to Lopez-Gamundi & Wardle (2018). They are provided by Millisecond.
They can be edited in script c_eefrt_instructions_inc.iqjs

Scoring

Success
In this script success is defined as 'the minimum number of required correct responses completed in time'.
The minimum required correct responses is thus calculated as = the max number of judgments required x the minimum proportion correct judgments required
This definition was implemented to allow for the possibility of occasional errors.


Example with with 80% correct performance:
Easy: max 4 judgments X 0.8 = 3.2 correct responses => need all 4 responses to be correct to reach success
Difficult: max. 19 judgements X 0.8 = 15.2 => need 16 responses to be correct to reach success

The success meter is adjusted by the number of minimum correct responses required. Thus, if participant
in the difficult condition responded correct to the first 16 judgments in time, the meter already reaches the top and
the participant has fullfilled the success criteria.

The max number of judgements as well as the minimum proportion correct judgments that are required
can be fine tuned under section Editable Parameters.
The default setting of the script requires 100% correct performance.

Summary Data

File Name: c_eefrt_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
practiceCounter Tracks the number of practice session run
practiceSuccess 1 = 100% practice performance achieved, 0 = otherwise
Summary Data: Based On Full Cycles Only (Trial Sequences That Were Cut Short Due To Time Constraints Do Not Count Towards Summary Variables)
randomwin1 Stores the first randomly selected win amount (in case this is used for an extra incentive)
randomwin2 Stores the second randomly selected win amount (in case this is used for an extra incentive)
total Stores the total of all rewards earned
countTestTrials Counts the number of testtrials
countEasy Counts the number of easy trials (includes forced easy trials)
countDifficult Counts the number of difficult trials (includes forced difficult trials)
countSuccessEasy Counts the number of successful easy trials
countSuccessDifficult Counts the number of successful difficult trials
countForced Counts the number of times computer had to randomly select a level of difficulty for participant
meanRTSelection Mean latency (in ms) of selection (excludes forced selections)
meanTaskDurationE Mean successful taskduration (pressing button; in ms) of the easy task
meanTaskDurationD Mean successful taskduration (pressing button; in ms) of the difficult task
proportionNonforcedDifficultChoices Overall proportion of non-forced choices of the difficult task relative to all trials
meanRTNonforcedDifficultChoices Overall mean choice response time (in ms) for selecting difficult task (non-forced)
proportionNonforcedDifficultChoicesP1 Proportion of non-forced choices of the difficult task for win probability p1 (12% chance)
meanRTNonforcedDifficultChoicesP1 Overall mean choice response time (in ms) for selecting difficult task (non-forced) for win probability p1 (12% chance)
proportionNonforcedDifficultChoicesP2 Proportion of non-forced choices of the difficult task for win probability p2 (50% chance)
meanRTNonforcedDifficultChoicesP2 Overall mean choice response time (in ms) for selecting difficult task (non-forced) for win probability p2 (50% chance)
proportionNonforcedDifficultChoicesP3 Proportion of non-forced choices of the difficult task for win probability p3 (88% chance)
meanRTNonforcedDifficultChoicesP3 Overall mean choice response time (in ms) for selecting difficult task (non-forced) for win probability p3 (88% chance)
Task Performance: Acc
propCorrectOverall Mean proportion correct across all performed parity/magnitude tasks
propCorrectP Mean proportion correct across all performed PARITY tasks
propCorrectM Mean proportion correct across all performed MAGNITUDE tasks
propCorrectEasy Mean proportion correct across all performed EASY parity/magnitude tasks
propCorrectDifficult Mean proportion correct across all performed DIFFICULT parity/magnitude tasks
propCorrectPEasy Mean proportion correct across all performed EASY PARITY tasks
propCorrectPDifficult Mean proportion correct across all performed DIFFICULT PARITY tasks
propCorrectMEasy Mean proportion correct across all performed EASY MAGNITUDE tasks
propCorrectMDifficult Mean proportion correct across all performed DIFFICULT MAGNITUDE tasks
Task Performance: Rt
meanCorrRTOverall Mean correct RT (in ms) across all performed parity/magnitude tasks
meanCorrRTP Mean correct RT (in ms) across all performed PARITY tasks
meanCorrRTM Mean correct RT (in ms) across all performed MAGNITUDE tasks
meanCorrRTEasy Mean correct RT (in ms) across all performed EASY parity/magnitude tasks
meanCorrRTDifficult Mean correct RT (in ms) across all performed DIFFICULT parity/magnitude tasks
meanCorrRTPEasy Mean correct RT (in ms) across all performed EASY PARITY tasks
meanCorrRTPDifficult Mean correct RT (in ms) across all performed DIFFICULT PARITY tasks
meanCorrRTMEasy Mean correct RT (in ms) across all performed EASY MAGNITUDE tasks
meanCorrRTMDifficult Mean correct RT (in ms) across all performed DIFFICULT MAGNITUDE tasks

Raw Data

File Name: c_eefrt_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.
practice 0 = test; 1 = practice
practiceCounter Tracks the number of practice session run
practiceSuccess 1 = 100% practice performance achieved, 0 = otherwise
countTestTrials Counts the number of COMPLETED testtrials
rewardEasy The potential reward assigned to the Easy task (default: "1.00")
rewardDifficult The currently assigned reward amount for the difficult task
winProbability The currently assigned win probability
selectionResponse The key scancode of the selection response
forced 1 = the task difficulty was randomly assigned to participant (did not choose themselves)
0 = participant selected difficulty
selectedDifficulty The task difficulty chosen/assigned: 0 = easy task; 1 = difficult task
selectedTask "easy" vs. "difficult"
currentCategorizationTask 1 = parity (blue); 2= magnitude (yellow)
digit Stores the currently presented digit for the parity/magnitude task
corrResp Stores the current correct response key for the parity/magnitude task
correct 1 = the response is correct; 0 = error response
latency The response latency (in ms); measured from start of trial
selectionRT The latency of the selection in ms (excludes forced choices)
countAttempts Attempted judgments
minCorrect Minimum number of judgments that need to be correct in order to reach success
countCorrect Counts the number of correct responses for the current game
success 1 = task was successfully completed; 0 = task was not completed
win 1 = the successful completion is rewarded; 0 = the successful completion is not rewarded
currentReward The currently assigned (potential) reward amount for the task chosen
total Stores the total of all rewards earned
finalTaskDuration The duration (in ms) spent on the task (pressing buttons)

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Colors
screenColor The color of the 'inactive' screenblack
canvasColor The color of the 'active' screen
if changed, you may need to change the taskselection images
black
defaultTextColor The default text colorwhite
meterColor The default meter colorred
Design
maxPracticeRuns Number of times practice session is run if performance is below 100%10
rewardEasy The potential reward assigned to the Easy task"1.00"
easyTrials Maximum number of trials to perform for the easy task4
difficultTrials Maximum number of trials to perform for the difficult task19
minAcc Minimum proportion correct of the maximum trials that is needed for successful completion
changes to this setting would allow occasional errors
1.00
showTimer Show a timer while performing the tasktrue
maxPayOff Default: ""; no maximum payoff is set
If set to a number, then the script terminates when that number is reached
""
Timing Parameters
completeTaskDuration The duration of the completed task in ms -> 20min1200000
selectionWindow The max. response window to make the task selection in ms 5000
readyDuration The duration of the Ready screen in ms 1000
easyDuration The max. duration of the Easy task in ms 7000
difficultDuration The max. duration of the difficult task in ms 21000
successFeedbackDuration The duration of the feedback screen regarding success/failure in ms 2000
winFeedbackDuration The duration of the feedback screen regarding the reward money won in ms 2000
Response Keys: If Changed, Images May Have To Be Updated Manually (The Task Itself Adjusts Automatically)
responseKeyEasy The response key for the Easy selection ; needs to stay the LEFT key"E"
responseKeyDifficult The response key for the Difficult selection ; needs to stay the RIGHT key"I"
responseKeyLeft The designated left response key (QWERTY keyboard) for the parity/magnitude tasks"E"
responseKeyRight The designated right response key (QWERTY keyboard) for the parity/magnitude tasks"I"
responseKeyEven The designated response key for EVEN parity task responsesparameters.responseKeyRight
responseKeyOdd The designated response key for ODD parity task responsesparameters.responseKeyLeft
responseKeySmaller The designated response key for <5 magnitude task responsesparameters.responseKeyLeft
responseKeyLarger The designated response key for >5 magnitude task responsesparameters.responseKeyRight