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
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.
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.
23 minutes
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).
digits: 1-9 (except 5) in blue and yellow
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
File Name: c_eefrt_summary*.iqdat
| Name | Description |
|---|---|
| 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 |
File Name: c_eefrt_raw*.iqdat
| Name | Description |
|---|---|
| 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) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Colors |
||
| screenColor | The color of the 'inactive' screen | black |
| canvasColor | The color of the 'active' screen if changed, you may need to change the taskselection images | black |
| defaultTextColor | The default text color | white |
| meterColor | The default meter color | red |
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 task | 4 |
| difficultTrials | Maximum number of trials to perform for the difficult task | 19 |
| 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 task | true |
| 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 -> 20min | 1200000 |
| 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 responses | parameters.responseKeyRight |
| responseKeyOdd | The designated response key for ODD parity task responses | parameters.responseKeyLeft |
| responseKeySmaller | The designated response key for <5 magnitude task responses | parameters.responseKeyLeft |
| responseKeyLarger | The designated response key for >5 magnitude task responses | parameters.responseKeyRight |