Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
This script has been made available to the Millisecond Test Library by the ABCD Research Consortium.
The script was designed to be run on ipads.
Millisecond thanks Dor Werbner Kalron for sharing the Hebrew translations!
Note:
This script was adapted to be used in Hebrew. Some of the instructions are hidden in the script due to problems with
display of Hebrew fonts. If you want to edit the text, copy and paste the element into any simple text editor,
make the changes and then paste back into Inquisit.
Created: January 28, 2017
Last Modified: January 30, 2023 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements an Adjusting Amount Discounting Procedure to assess the hypothetical reward amounts at which people start to discount higher monetary rewards in favor of shorter wait periods.
This script is based on an Python script written by Dr. Mikhail Koffarnus and generously shared by the ABCD Consortium.
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, No. 3, 222–228
Rule Violations described in: Johnson and Bickel (2008, Experimental and Clinical Psychopharmacology, 16, 264-274).
5 minutes
Participants have to make a choice between 2 amounts of moneys with different delays: a delayed amount (here: $100) for delay1 (e.g. "in a year") compared to an immediate amount (e.g. $50) right now. Seven delays ("6hours", "1 day", "1 week", "1 month", "3 months", "1 year", "5 years") are tested in this script to determine 7 indifference points. Each delay is tested with 6 trials. Depending on the participant's choice the immediate amount is adjusted up (when delayed amount is selected) or down (when immediate amount is chosen.)
• 7 delays ("6hours", "1 day", "1 week", "1 month", "3 months", "1 year", "5 years") are tested within-participants in a blocked design
the delays can be adjusted under section Editable Lists (names of IP values will then have to be adjusted under section VALUES)
• the order of the delays is determined randomly
• 6 trials per delays
• the delayed amount can be set under Editable parameters. By default, it's $100
• the starting immediate amount is set as half of the delayed amount
Trials:
• left or right screen location of the delayed and immediate amount are randomly determined for each trial
• participants makes a choice via a button press: the left key refers to selecting the choice on the left,
the right key refers to selecting the choice on the right
• participants have an unlimited time to make a choice
• depending on choice
Adjustment Algorithm of the Immediate Amount:
First Trial: half of the difference of delayed and immediate amount
Example: delayed amount = 100; immediate amount = 50; adjustment = (100-50)/2 = 25
if participants chooses delayed amount (100) -> the next immediate amount tested is = 50 + 25 = 75
if participant chooses immediate amount (50) -> the next immediate amount tested is = 50 - 25 = 25
Subsequent Trials: half of the previous used adjustment
Example: previous adjustment = 25 => the next adjustment will be 12.5
Algorithm to calculate Indifference Points (P):
at the end of each delay, the computer calculates the indifference point for the tested delays
as the midpoint of last 'immediate' amount chosen and last 'immediate' amount rejected.
a) if participant always rejects the immediate amount, the IP will be the midpoint between the
delayed amount and the last immediate amount rejected.
b) if participant always rejects the delayed amount, the IP will be the midpoint between
0 and the last immediate amount chosen
Rule Violation Algorithms (Johnson & Bickel, 2008):
Johnson and Bickel (2008, Experimental and Clinical Psychopharmacology, 16, 264-274).
JB Rule1: if a later indifference point (absolute) is larger than the preceding one by 20% of the delayed standard amount=> rule violation
JB Rule2: if the difference btw. first and last indifference point (absolute) is smaller than 10% of the standard amount => rule violation
provided by ABCD Research Consortium - can be edited under section Editable Instructions
File Name: abcdadjustingamountdiscounting_hebrew_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| 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 |
| delayedRewardAmount | The delayed amount in $ (here: 100) |
| testedDelays | A string variable that stores all tested delays in the order tested |
| immediateChoiceValidity | Immediate choice validity questions after: 3 months, 1 year, 5 year ("get $100 NOW" vs. "get $100 in 5 years") each immediate choice receives 1 point: max points 3 indifPoint6h- |
| indifPoint5Years | Store the absolute Indifference Points (IP) for the 7 specific delays tested in this script percentage indifference points (relative to standard amount) percentIndifPoint6h- percentIndifPoint5Years Johnson & Bickel (2008)-test for rule violations |
| consistentPerJBCriterion1 | No: at least one indifference point is larger than the preceding one by 20% of delayed amount (here: $100) yes: otherwise |
| violationsJBCriterion1 | Stores the number of rule violations of JB criterion 1 based on the six individual indifference point checks (Range: 0 - 6) |
| consistentPerJBCriterion2 | No: the difference btw. first and last indifference point (set relative to delayed amount) is smaller than 10% of the delayed standard amount yes: otherwise |
| meanRTAllChoices | Mean latency (in ms) of all choices |
| medianRTAllChoices | Median latency (in ms) of all choices |
| meanRTImmedChoices | Mean latency (in ms) of 'immediate' choices |
| medianRTImmedChoices | Median latency (in ms) of 'immediate' choices |
| meanRTDelayedChoices | Mean latency (in ms) of 'delayed' choices |
| medianRTDelayedChoices | Median latency (in ms) of 'delayed' choices |
File Name: abcdadjustingamountdiscounting_hebrew_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| countDelays | Counts the number of delays tested |
| delayIndex | Index of delay (in ascending order) |
| delay | Stores the current delay tested: ("6 hours from now", "1 day", "1 week", "1 month", "3 months", "1 year", "5 years") |
| delayDays | Stores the current delays in unit 'day' (numbers from original Phython program) |
| countTrials | Counts the number of adjustment trials run per block |
| delayedReward | The delayed amount in $ (here: 100) |
| immediate | Stores the currently tested 'immediate' amount |
| delayedLocation | 1 = delayed amount is presented on the left 2 = delayed amount is presented on the right |
| stimulusItem | The presented stimuli in order of trial presentation |
| text.delayed.timestamp | The elapsed script time when 'Delayed' text was presented |
| choiceRT | The response latency (in ms) of the choice |
| response | The participant's response (for test trials: immediate vs. delayed) |
| adjustAmount | Stores the adjust amount of the next immediate amount |
| nextImmediate | Stores the next 'immediate' amount |
| lastImmediateChosen | Stores the last immediate amount chosen |
| lastImmediateRejected | Stores the last immediate amount rejected |
| indiffPoint | Indifference point (absolute indifference point as the midpoint of values.last ImmediateChosen and values.lastImmediateRejected) |
| percentIndiffPoint | Percentage indifference point (relative to standard amount) |
| immediateChoiceValidity | Immediate choice validity questions after: 3 months, 1 year, 5 year ("get $100 NOW" vs. "get $100 in 5 years") each immediate choice receives 1 point: max points 3 |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| delayedRewardAmount | The delayed amount in $ | 100 |
| startTrialDuration | The duration (in ms) of the start trial in each block (the announcement of the particular delay) | 2000ms |
| leftx | The proportional screen position of the left amount (here: 25% of the width of the canvas) note: 0% is the very left of canvas | |
| rightx | The proportional screen position of the right amount (here: 75% of the width of the canvas): 100% is the very right of canvas |