Return to the 5-Trial Adjusting Delay Discounting Task page
Minute Discounting Task
SCRIPT INFO
Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 03-06-2018
last updated: 03-06-2018 by K.Borchert (katjab@millisecond.com) for Millisecond Software LLC
Script Copyright © 03-06-2018 Millisecond Software
BACKGROUND INFO
*Purpose*
This script implements the Minute Discounting Task described by:
Koffarnus, M.N. & and Warren K. Bickel, W.K (2014). A 5-Trial Adjusting Delay Discounting Task: Accurate Discount Rates in
Less Than One Minute. Experimental and Clinical Psychopharmacology, 22, 222–228.
The Minute Discounting Tasks, an adjusting delay task, offers a quick way to estimate discount rates.
*Task*
Participants receive 5 questions that ask whether they prefer a smaller amount (default: $5) now
or a larger amount (default: S10) at variable delays (delays depend on previous choices).
The task takes about a minute. The discount rate k is calculated.
DATA FILE INFORMATION:
The default data stored in the data files are:
(1) Raw data file: 'minutediscounting_raw*.iqdat' (a separate file for each participant)*
build: Inquisit build
computer.platform: the platform the script was run on
date, time, subject, group: date and time script was run with the current subject/groupnumber
blockcode, blocknum: the name and number of the current block
trialcode, trialnum: the name and number of the currently recorded trial
(Note: not all trials that are run might record data; by default data is collected unless /recorddata = false is set for a particular trial/block)
/delayedAmount: the promised delayed amount (default: $10)
/immediateAmount: the promised immediate amount (default: $5)
/trialcount: a running count of the choice trials run
/choiceNo: stores the current choice trial number (1-5) attached to the current index (should always be equal to the number of choice trials run = values.trialcount)
/index: the index of the current choice values (choice trial #1 starts with index = 16)
/indexAdjustment: the current index adjustment value
/delayChoice: the variable delay choice assigned to the current index
response: the participant's response: selected response button
"now" vs. "delayed"
latency: the response latency (in ms); measured from: onset of response buttons
/ED50: stores the estimated ED50 (in days)
Effective Delay 50% (ED50): can be directly translated into k-values
/k: stores the absolute k-value (discount rate, inverse of ED50)
(2) Summary data file: 'minutediscounting_summary*.iqdat' (a separate file for each participant)*
script.startdate: date script was run
script.starttime: time script was started
script.subjectid: subject id number
script.groupid: group id number
script.elapsedtime: time it took to run script (in ms)
computer.platform: the platform the script was run on
/completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)
/delayedAmount: the promised delayed amount (default: $10)
/immediateAmount: the promised immediate amount (default: $5)
/ED50: stores the estimated ED50 (in days)
Effective Delay 50% (ED50): can be directly translated into k-values
/k: stores the absolute k-value (discount rate, inverse of ED50)
/meanRT: the mean choice reaction time (measured from onset of the response buttons)
* separate data files: to change to one data file for all participants (on Inquisit Lab only), go to section
"DATA" and follow further instructions
EXPERIMENTAL SET-UP
1 Test block with 5 choice trials
* each trial presents a choice between the immediate amount and the delayed amount
=> based on response the new delay gets selected for the next trial based on
adjusting the index of the selected delays (see item.delayChoices under section STIMULUS)
* delay values used in this script are published in: Koffarnus & Bickel (2014, Table 1, p.224)
Adjustment Rule of the indices:
* the first delay always uses index = 16 ("3 weeks")
* the index adjustment value starts at 16/2=8 and is halved for each new trial (8, 4, 2, 1)
* if the immediate amount is selected: the index is adjusted down by the current adjustment value
* if the delayed amount is selected: the index is adjusted up by the current adjustment value
Example:
* the index adjust amount in trial 1 = 8:
if the immediate amount is selected in trial 1 (index always 16), trial 2 presents the delay for index 8 (16-8) ("1 day")
if the delayed amount is selected in trial 1 (index always 16), trial 2 presents the delay for index 24 (16 + 8) ("2 years")
* the index adjust amount in trial 2 = 4:
if the immediate amount is selected in trial 2 (e.g. index 8), trial 3 presents the delay for index 4 (8-4)("4 hours")
if the delayed amount is selected in trial 2 (e.g. index 8), trial 3 presents the delay for index 12 (8 + 4)("4 days")
etc.
INSTRUCTIONS
provided by Millisecond Software - can be edited under section Editable Instructions
EDITABLE CODE:
check below for (relatively) easily editable parameters, stimuli, instructions etc.
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment.
The parameters you can change are:
/delayedAmount: the promised delayed amount (default: $10)
/immediateAmount: the promised immediate amount (default: $5)
/iti: the intertrial interval between each choice trial (default: 1000)
Note: the options are blacked out during the iti