Date Variables Reference
Date variables let you build rules that are sensitive to time — how long a card has been in your inventory, when it was last sold, or when it was released. This is essential for clearance pricing, new-release strategies, and stale-inventory management.
How Date Conditions Work
A date condition compares a date variable against a relative date constant (or another date variable) using a comparison operator.
OLDEST_COPY_INSERTION_DATE < FOUR_WEEKS_AGO
This reads: "The oldest copy was added to inventory before four weeks ago" — in other words, you've had this card for over a month.
Operators
| Operator | Meaning |
|---|---|
< |
Before (earlier than) |
<= |
On or before |
> |
After (more recent than) |
>= |
On or after |
= |
Exactly on |
Time Direction
Dates go from past → present → future. A date that is "less than" another date happened earlier:
TWO_MONTHS_AGO < ONE_WEEK_AGO < TODAY
So OLDEST_COPY_INSERTION_DATE < FOUR_WEEKS_AGO means the insertion date is further in the past than four weeks ago.
Your Listing Dates
These variables come from your ManaPool inventory data.
| Variable | Visual Builder Label | Description |
|---|---|---|
OLDEST_COPY_INSERTION_DATE |
Oldest Copy Insertion Date | When the oldest copy of this card was first added to your inventory. Use this to find cards that have been sitting unsold for a long time. |
NEWEST_COPY_INSERTION_DATE |
Newest Copy Insertion Date | When the newest copy of this card was added to your inventory. Use this to detect recently restocked items. |
LATEST_COPY_SOLD_DATE |
Latest Copy Sold Date | When the most recent copy of this card was sold from your store. Use this to identify cards that haven't sold recently. |
Common Patterns
"In inventory for over 4 weeks"
OLDEST_COPY_INSERTION_DATE < FOUR_WEEKS_AGO
"Recently restocked (within the last week)"
NEWEST_COPY_INSERTION_DATE > ONE_WEEK_AGO
"Hasn't sold in 3 months"
LATEST_COPY_SOLD_DATE < THREE_MONTHS_AGO
Product & Set Release Dates
These variables come from product catalog data, not your inventory.
| Variable | Visual Builder Label | Description |
|---|---|---|
PRODUCT_RELEASE_DATE |
Product Release Date | The release date of the specific card printing. This can differ from the set release date for reprints, promos, and special products. |
SET_RELEASE_DATE |
Set Release Date | The release date of the set (expansion) the card belongs to. |
Product vs. Set Release Date
Most of the time, these are the same. But they differ in important cases:
- The List reprints — cards printed in a later set's boosters. The product release date is when the reprint became available, not when the card was originally released.
- Secret Lair drops — released on their own schedule, independent of any Standard set.
- Buy-a-Box promos — may be released slightly before or after the main set.
- Prerelease promos — sometimes available before the set's official release.
Use SET_RELEASE_DATE when you want to apply rules based on when a set dropped. For example, "discount cards from sets older than 6 months."
Use PRODUCT_RELEASE_DATE when you care about when the specific printing became available. For example, "premium pricing on products released in the last 2 weeks."
Common Patterns
"Card is from a set released in the last month"
SET_RELEASE_DATE > FOUR_WEEKS_AGO
"Old set — released over 6 months ago"
SET_RELEASE_DATE < SIX_MONTHS_AGO
Relative Date Constants
These aren't variables you read from your data — they're fixed reference points that represent "how far back from today." Use them on either side of a date comparison.
| Constant | Visual Builder Label | How Far Back |
|---|---|---|
TODAY |
Today | 0 days |
YESTERDAY |
Yesterday | 1 day |
THREE_DAYS_AGO |
3 Days Ago | 3 days |
ONE_WEEK_AGO |
1 Week Ago | 7 days |
TWO_WEEKS_AGO |
2 Weeks Ago | 14 days |
THREE_WEEKS_AGO |
3 Weeks Ago | 21 days |
FOUR_WEEKS_AGO |
4 Weeks Ago | 28 days |
TWO_MONTHS_AGO |
2 Months Ago | ~60 days |
THREE_MONTHS_AGO |
3 Months Ago | ~90 days |
FOUR_MONTHS_AGO |
4 Months Ago | ~120 days |
FIVE_MONTHS_AGO |
5 Months Ago | ~150 days |
SIX_MONTHS_AGO |
6 Months Ago | ~180 days |
Month-based constants use calendar months, so the exact number of days varies.
Combining Date and Price Conditions
Date conditions become powerful when combined with price and attribute conditions. Some examples:
Clearance pricing for stale NM inventory:
IF OLDEST_COPY_INSERTION_DATE < FOUR_WEEKS_AGO
AND CONDITION IS 'NM'
AND TCGPLAYER_LOW_NM IS_NOT_NULL
THEN SET PRICE TCGPLAYER_LOW_NM ADJUST -15% LIMIT MIN 0.25
Premium pricing for newly released sets:
IF SET_RELEASE_DATE > TWO_WEEKS_AGO
AND CONDITION IS 'NM'
THEN SET PRICE TCGPLAYER_MARKET_NM ADJUST +5%
Aggressive discount for cards that haven't sold in months:
IF LATEST_COPY_SOLD_DATE < THREE_MONTHS_AGO
AND CURRENT_PRICE <= 2.00
THEN SET PRICE 0.50
Null Considerations
Date variables can be null:
LATEST_COPY_SOLD_DATEis null if you've never sold a copy of that card.PRODUCT_RELEASE_DATEorSET_RELEASE_DATEmay be null for products not yet in HippoLink's catalog.OLDEST_COPY_INSERTION_DATEis null if there's no inventory tracking data for this item.
Add a null check before using a date variable in a condition:
IF LATEST_COPY_SOLD_DATE IS_NOT_NULL
AND LATEST_COPY_SOLD_DATE < THREE_MONTHS_AGO
THEN ...
What's Next
- Price Variables Reference — all price variables for market data.
- Real-World Examples — complete rules using date conditions.