Currency Bank and Currency Accounting
Purpose of this document
This document provides details at the business, technical, and implementation levels for specific features within the ES Loyalty feature set. It covers a subset of functionality focused on Loyalty Currency Bank and Currency Accounting.
Table of contents
- Currency bank
- Currency holdback
- Redeemable currency balance
- Base earn rules
- Multiple base earn
- Currency classification
- Earn rules based on account/card status
- Burn rules based on account/card status
- Currency and account expiry logic (activity-based)
- Expiry exemption
- Currency expiry logic (FIFO)
- Annual point expiry
- Delayed transactions
Currency bank
The currency bank manages all debits and credits of a member's loyalty currency — for example, points, cashback, and credits.
A member's earning and redeeming activity flows into the Exchange Solutions system, which makes corresponding adjustments in the currency bank. The currency bank manages the member's rewards balance in real time and provides the basis for tracking and displaying that balance.
This feature uses the term "currency bank" rather than "points bank" because reward points are only one form in which the system can hold rewards. Other forms include cashback, credits, coupons, vouchers, gift card balances, member benefits (such as access to discounts, events, or tier benefits), partner benefits, and subscriptions. The same reasoning applies to the use of "currency" rather than "points" in other contexts.
A robust currency bank must handle different types of rewards accurately and in real time. It also requires provisions for auditing and adjustments.
Currency holdback
Currency holdback uses time-based loyalty currency holdback to guard against gaming and fraud.
A points holdback holds points and prevents them from being credited to an account for a specified period of time, or until other criteria are met (such as a minimum spend threshold), so they are not immediately redeemable. The holdback duration can be set or made configurable. Slowing the velocity of redemptions and providing additional time for fraud investigations deters many common rewards fraud schemes.
For example, a client may want to hold points for 12 hours after a purchase transaction before making them available for redemption. Alternatively, a client may require the member to reach a certain spend level before they can redeem rewards.
A key client can use a delayed transaction that holds all redemptions until $5,000 in spending is confirmed. When the system sends the Finalize request, it places the awarded currency on indefinite hold. When Exchange Solutions receives a confirmation API call from the client, it releases the hold and makes the points available for redemption.
Redeemable currency balance
The redeemable currency balance tracks the available point balance for redemption, taking into account currency holdback rules and other factors.
The redeemable currency balance is the balance that the system can currently apply to redemptions. It equals any or all of the following:
- The total rewards balance minus any point holds from recent earnings, adjustments, or Post-Purchase Earn (PPE) events — for example, due to a 12-hour rule used to prevent fraudulent activity.
- The total rewards balance subject to business rules, such as requiring an order to be paid for or fulfilled before the system recognizes the points earned (delayed transaction), or requiring the member to reach a specific spend level before points are redeemable (as with some key clients).
- The total rewards balance (subject to the provisions above) that is above the minimum redeemable points threshold and below the maximum redeemable points threshold.
- The total rewards balance (subject to the provisions above) associated with a card that has an Active status.
- Points transfers from one account to another can only come from the redeemable balance — points that are on hold cannot be transferred.
- The redeemable balance may be measured in reward points, dollars, or another currency form used to calculate and redeem rewards.
- If the client has an auto-redemption mechanism, the system can redeem the entire reward balance when the expiry date is reached. For example, MMS auto-redeems points as a credit on the member's account at expiry, redeeming the entire eligible balance in the alternative currency.
The redeemable currency is the portion of total currency that is not on hold, meets one of the redemption thresholds, and is at or below any redemption limits. For example:
A client has a redemption threshold at every 25,000-point increment, and the member receives $10 for each 25,000-point increment redeemed. The member was just awarded 80,000 points (less than 12 hours ago), and the hold period is 12 hours. Before that transaction, the member had a balance of 70,000 points.
- The Account Balance is 70,000 (previous) + 80,000 (just awarded) = 150,000 points.
- The Available Balance is 70,000 points. The 80,000 points were awarded less than 12 hours ago, so they are on hold and not yet available for redemption.
- The Redeemable Balance is the largest multiple of 25,000 that fits within the Available Balance. With 70,000 points available, the redeemable balance is 2 × 25,000 = 50,000 points.
- The Redeemable Value of 50,000 points is $20 (at $10 per 25,000 points). Note that a single-session or single-day redemption limit may also apply. For example, if the member had a 150,000-point redeemable balance but a $40/day limit on redemptions, the redeemable value would be $40, not $60.
| Account balance | Available balance | Redeemable balance | Redeemable value |
|---|---|---|---|
| 150,000* | 70,000 | 50,000 | $20 |
Base earn rules
Base earn rules define the earning logic for base earning — for example, 10 points per $1 of eligible spend, or 10 points per 1 unit of fuel.
Base points are rewards earned through regular purchase transactions, not through offers. The earn rate for base points is typically set as points per eligible dollar of spend or per eligible item. Base points are often considered part of the baseline operating cost of running a loyalty program. Note that some loyalty programs do not include base points earning. The base points rule sets the earn rate for base points at a specified level.
Multiple base earn
This feature lets ES Loyalty clients define and configure multiple base offers that run simultaneously for all members. These offers are non-overlapping.
In the loyalty marketplace, "Base" is typically the value proposition that is always available to all members. Previously in ES Loyalty, Base was:
- A single evergreen offer
- Configured at the business unit level
- Not using the full breadth of the Promo Engine's offer capabilities — for example, it did not support product targeting.
With this feature, there is no change to how Base offers are set up. Setup remains a back-end migration and is not viewable or editable in the Console Promotions section. The feature adds enhancements to enable product targeting on the Base offer and to enable the use of Unit. Offers must be configured in a non-overlapping way.
For transaction history and receipt messaging, the system displays one line item for global base earned in the transaction. Further development will break this out by parts. Aggregations sum all Base earns together. If a maximum is set (for example, to prevent fraud), it applies to the aggregate value of base earns.
Bonus offers that use the "Base Point Multiplier" reward multiply the global base earning to determine the bonus reward.
The ability to have multiple base earns is uncommon in traditional consumer retail loyalty, but is more common in coalition programs and in fuel, hotel, and air travel verticals.
Pricing consideration: Having many Base earns may have pricing implications, but this is not an operational concern.
Additional information
Examples of multiple base earn:
Example 1:
- "Earn 10 pts for every $1 spent on c-store products"
- "Earn 10 pts for every 1L (unit) of fuel purchased"
Example 2:
- "Earn 10 pts for every $1 spent on c-store products"
- "Earn 10 pts for every 1L (unit) of regular fuel purchased"
- "Earn 15 pts for every 1L (unit) of premium fuel purchased"
Example 3:
- "Earn 15 points for every $1 spent on Client Private Brand"
- "Earn 10 points for every $1 spent on everything else"
Currency classification
The system classifies rewards currency into categories — for example, Base, Bonus, Partner, Goodwill, and various account types and sub-types.
The system classifies rewards in several ways:
- Base rewards — Rewards earned through normal or regular purchases, typically as a specified increment of reward currency per unit of purchase currency. For example: "Get 100 points for every $10 spent."
- Bonus rewards — Rewards based on offers. For Exchange Solutions, points earned through offers and other targeted promotions are typically considered bonus points. In other cases, a marketing department uses bonus points to promote certain brands or products.
- Partner rewards — Rewards earned through interactions with a retailer's partner. For example, a member may earn rewards for using a payment card associated with a partner financial institution.
- Goodwill rewards — Rewards granted for customer retention purposes. For example, if a customer received a late or missing shipment, the retailer can award them rewards to maintain positive customer relations and reinforce loyalty.
- Rewards based on account types and sub-types — Rewards tied to the classification of different account types. For example, different account tiers may each be eligible for a different rewards profile.
Exchange Solutions can tag different types of reward currencies.
Earn rules based on account/card status
Business rules determine when a member can earn rewards, based on the status of their account and/or card. For example, suspended accounts cannot earn points.
Cards earn and burn points based on account and card status. The rules for earning points are permissive — as long as the account status is not Closed or Deceased, the account can earn points. If the account status is Active, the card can earn points as long as the card status is not Cancelled.
| Can earn rewards | Account and card status |
|---|---|
| Yes | Account: Active; Card: Active |
| Yes | Account: Active; Card: Suspended, Lost or Stolen, Damaged, or Fraud/Abuse |
| Yes | Account: Expired, Suspended, or Unregistered |
| No | Account: Closed or Deceased |
| No | Card: Active but Cancelled |
Burn rules based on account/card status
Business rules determine when a member can redeem (burn) rewards, based on the status of their account and/or card. For example, only active accounts can redeem points.
For redemption, the account status must be Active, and the card status must be Active, Deceased/Active, or Active/Damaged. Only the available balance can be redeemed. Points that were just awarded are placed on a 12-hour hold as a fraud prevention measure.
| Can redeem rewards | Account and card status |
|---|---|
| Yes | Account: Active; Card: Active |
| No | Account: Closed, Deceased, Expired, Suspended, or Unregistered ("ghost" card) |
| No | Account: Active; Card: Suspended, Lost or Stolen, Damaged, Fraud/Abuse, or Cancelled |
Currency and account expiry logic (activity-based)
This feature supports configurable business rules to manage the expiration of points and account status based on member inactivity, using the last activity date (LAD).
Currency (points) expiry: Points expiry retires reward points or reward currencies — making them no longer available for redemption — when a specific interval of time passes with no account activity. Activity includes earning or burning loyalty currency (points or other credit types) across earn/burn types such as base points, bonus points, partner earn, discretionary, returns, adjustments, donations, and transfers between members.
A system monitor task runs every 5 minutes and checks for accounts where the last activity date is older than the configured points expiry rule. The system flags dormant accounts for expiry and sweeps the points as soon as the Event Processing module detects the flag.
Account expiry: Account expiry is separate from points expiry, although similar criteria may apply. An account expires when there is a prolonged, specified period of inactivity. Note that account expiry does not necessarily trigger a points sweep, as the age of the account and the age of the points may differ.
As points approach expiry, the system sends a series of messages encouraging the member to take action that would reset the expiry clock. The simplest action is a purchase, but clients can configure other events that also reset the clock — for example: redemptions, points transfers, earning a badge, loading offers, completing a survey, completing registration, and more. An activity can also be a system-recognized event such as a status change, profile change, opting into email, or linking to another member or business unit.
Expiry exemption
This feature lets a program administrator exempt certain account categories from the inactivity-based account expiry process as a program benefit — for example, "no expiry of points for partner-linked accounts."
A program administrator may want to exempt select members from inactivity-based account and balance expiry to provide a differentiated member experience. The goal is to allow certain members' points to never expire, regardless of their activity with the program. This lets the client market the benefit to members — for example: "Link to Megabank and your points and account will never expire."
ES Loyalty uses queries to identify accounts approaching the expiry threshold. It then checks whether the account is flagged for exemption under specific conditions — for example, whether the account is linked to a partner — and exempts qualifying accounts from account and point expiry.
This feature currently applies to Last Activity Date (LAD) expiry only, not to First-In, First-Out (FIFO) expiry.
Currency expiry logic (FIFO)
This feature supports configurable business rules to manage the expiration of points based on first-in, first-out (FIFO) logic.
With FIFO expiry, the system redeems or expires the oldest rewards first, then the next oldest, and so on. This prevents the system from redeeming the newest points while expiring the oldest, and also allows partial expiry rather than expiring the entire balance. Note: today, ESI expires the entire account balance, and redemption is not linked to individual transactions.
Annual point expiry
Points earned in a preceding year can be expired once annually.
Previously, the system could expire a member's accumulated points on a monthly basis. This functionality has been expanded to allow annual expiry based on client preferences. For example, a client may choose to sweep all accumulated points from existing accounts on the first day of February each year. Members can redeem their points right up until the sweep date, after which reward point accumulation starts again from zero in the following year.
Point expiry prevents large point balances (and corresponding liabilities) from accumulating, and encourages customer engagement through the redemption process.
Delayed transactions
This feature processes transactions and calculates potential point earnings, but does not release those points until the transaction is confirmed — for example, due to payment or fulfillment delays.
Clients may need to process transactions that only become permanent after other processes complete. The delay applies to the reward given to the customer. Two types of delay are supported:
- Payment — The system logs the transaction against the customer account, but does not award points until all items in the order have been paid for.
- Fulfillment — The system logs the transaction against the customer account, but does not award points until all items in the order have been fulfilled. Depending on the client, this may be when the order is packaged for delivery, when it ships, or when it is delivered to the customer.