Delay Discounting Task with Money and Food

Technical Manual

Script Author: David Nitz, Millisecond

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

Script Copyright © Millisecond Software, LLC

Background

This script implements the Money/Food Delay Discounting Task, an adjusting delay discounting task to assess the reward amounts at which people start to discount higher monetary/food rewards in favor of shorter wait periods.

The implemented procedure is based on Odum et al (2006).

References

Odum, A.L., Baumann, A.A.L., Rimington, D.D. (2006). Discounting of delayed hypothetical money and food: Effects of amount. Behavioural Processes, 73, 278-284.

Duration

15 minutes

Description

Participants are asked to select btw. 2 options: one option presents a higher value but with a delay (7 different ones), the second option presents a lower value but with an immediate pay-off. The lower value continuously decreases or increases (decrease/increase tested in blocked format). The options tested are 'Money' and 'Food'.

Procedure

2 options (food, money: tested in blocked format) x 2 orders (ascending, descending: tested in blocked, consecutive format) x 7 delays (tested in blocked format, in ascending order);
tested within subjects

4 different experimental groups (assignment by groupnumber)
1: Money-> Food, desc -> asc
2: Money-> Food, asc -> desc
3: Food -> Money, desc -> asc
4: Food -> Money, asc -> desc

Indifference Point Calculations:
For each of the 7 temporal delays 2 indifference points are assessed: one for ascending order and one for descending order.
Indifference points are reached when participants switches response pattern 'consistently':
-> descending order: after 2 choices of the delayed option
-> ascending order: after 2 choices of the immediate option
The final indifference point for a delay is the midpoint of these 2.

Stimuli

see section EDITABLE STIMULI in script 'ddt_moneyfood_instructions_inc.iqjs'

Instructions

see section EDITABLE INSTRUCTIONS in script 'ddt_moneyfood_instructions_inc.iqjs'

Summary Data

File Name: ddt_moneyfood_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
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
parameters.delayedReward The set amount for a delayed reward ($10)
ipDelay1M-ipDelay7M The indifference points for the 7 different delays for Money (M)
ipDelay1F-ipDelay7F The indifference points for the 7 different delays for Food (F)

Raw Data

File Name: ddt_moneyfood_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.
blockCount The number of blocks run
blockType Type of current block: “money” or “food”
order Current order of values "descending" vs “ascending”
trialCount DiscountTrials run in the current block
response Participant’s response (choice trials: ‘delayed’ or ‘immediate’)
latency Response latency for the current trial in ms
delay The currently selected delay
parameters.delayedReward The set amount for a delayed reward ($10)
immediateReward The currently selected immediate reward
delayedResponseStreak Tracks the number of consecutive delayed responses per block
immediateResponseStreak Tracks the number of consecutive immediate responses per block
ipDesc The indifference point found in the descending blocks of a consecutive pair of money/food blocks for a given delay
ipAsc The indifference point found in the ascending blocks of a consecutive pair of money/food blocks for a given delay
ip The overall estimated indifference point of a pair of money/food blocks: average of the ip_asc and ip_desc of a consecutive pair of money/food blocks for a given delay

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design
delayedReward The default value to use for the delayed reward (here: $10.00)10.00
Timing Parameters
pretrialDelay Pretrialpause (in ms) in choice trial0
posttrialDelay Posttrialpause (in ms) in choice trial500
Delays: Edit The 7 Delays In Language-Dependent Script 'Ddt_Moneyfood_Instructions_Inc.Iqjs'