intermediate
loyalty
challenges
gamification

Challenges

Complete guide to creating and managing time-limited challenges that drive customer engagement and encourage specific behaviors.

Levy Fleets Team25 de diciembre de 202520 min read

Challenges

Challenges are time-limited events that drive customer engagement and encourage specific behaviors. Unlike permanent achievements, challenges have defined start and end dates, creating urgency and excitement. This guide covers everything you need to know about creating and managing challenges for your loyalty program.

Understanding Challenges

Challenges are promotional events with a defined duration that encourage customers to complete specific goals. They differ from achievements in key ways:

FeatureAchievementsChallenges
DurationPermanentTime-limited
AvailabilityAlways activeScheduled start/end
ParticipationAutomaticOpt-in (join)
ProgressCumulative lifetimeResets per challenge
UrgencyLowHigh

Why Use Challenges?

  1. Drive Specific Behaviors: Encourage parking in preferred zones, weekend rides, etc.
  2. Create Urgency: Limited-time events motivate action
  3. Boost Engagement: Fresh content keeps customers coming back
  4. Seasonal Promotions: Align with holidays, events, or slow periods
  5. Community Building: Everyone working toward the same goal

Challenge Types

Challenges support multiple goal types to drive different behaviors:

Complete Rides (rides_count)

Goal: Complete a specific number of rides.

ExampleTargetDuration
Weekly Rider5 rides7 days
Power Week10 rides7 days
Monthly Marathon20 rides30 days

Use case: Increase overall ridership.

Travel Distance (distance_km)

Goal: Accumulate distance traveled.

ExampleTargetDuration
Quick 10K10 km7 days
Explorer Challenge50 km14 days
Century Challenge100 km30 days

Use case: Encourage longer or more frequent rides.

Maintain Streak (streak_days)

Goal: Ride on consecutive days.

ExampleTargetDuration
3-Day Streak3 days7 days
Week Streak7 days14 days
Two Week Warrior14 days21 days

Use case: Build riding habits.

Consecutive Days (consecutive_days)

Goal: Ride on a specific number of consecutive calendar days.

ExampleTargetDuration
Commitment Challenge5 consecutive days7 days
Habit Builder7 consecutive days10 days

Use case: Drive daily engagement.

Preferred Parking (parking_zone)

Goal: End rides in designated parking zones.

ExampleTargetDuration
Good Parker3 zone ends7 days
Parking Pro10 zone ends14 days
Zone Master25 zone ends30 days

Use case: Improve fleet distribution and parking compliance.

Weekend Warrior (weekend_warrior)

Goal: Complete rides on weekends.

ExampleTargetDuration
Weekend Starter2 weekend rides7 days
Weekend Champion6 weekend rides14 days

Use case: Boost weekend ridership.

Early Bird (early_bird)

Goal: Complete rides in the morning (before 8 AM).

ExampleTargetDuration
Early Riser3 morning rides7 days
Sunrise Rider10 morning rides30 days

Time Definition

A ride is considered "early bird" if it starts before 8:00 AM in the account's timezone.

Use case: Distribute demand to off-peak hours.

Night Owl (night_owl)

Goal: Complete rides in the evening (8 PM or later).

ExampleTargetDuration
Night Rider3 evening rides7 days
After Dark10 evening rides30 days

Time Definition

A ride is considered "night owl" if it starts at 8:00 PM or later in the account's timezone.

Use case: Encourage evening ridership.

Eco Champion (eco_champion)

Goal: Accumulate CO2 savings.

ExampleTargetDuration
Green Start5 kg saved7 days
Eco Warrior25 kg saved14 days
Planet Saver100 kg saved30 days

Use case: Promote environmental consciousness.


Creating a Challenge

Step-by-Step Guide

  1. Access Challenges Page

    • Navigate to Dashboard > Loyalty > Challenges
    • Or go directly to /dashboard/loyalty/challenges/
  2. Click "New Challenge"

    • Opens the challenge creation modal
  3. Fill in Basic Information

    • Name: Catchy challenge name (e.g., "Weekend Warrior")
    • Description: What customers need to do
  4. Configure Challenge Type

    • Challenge Type: Select from available types
    • Target: Set the goal to achieve
  5. Set Duration

    • Start Date: When the challenge begins
    • End Date: When the challenge ends
  6. Configure Rewards

    • Points Reward: Base points for completion
    • Bonus Reward Type: Optional additional reward
    • Bonus Reward Value: Amount of bonus reward
  7. Configure Appearance

    • Badge Color: Select accent color
  8. Optional Settings

    • Max Participants: Limit participation
    • Featured: Highlight on mobile app
  9. Save Challenge


Challenge Configuration Options

Required Fields

FieldDescriptionValidation
NameDisplay nameMax 100 characters
Challenge TypeGoal typeMust be valid type
TargetNumeric goalMust be > 0
Start DateBegin timeMust be valid datetime
End DateEnd timeMust be after start date

Optional Fields

FieldDefaultDescription
DescriptionNoneInstructions for customers
Points Reward0Points awarded on completion
Bonus Reward TypeNoneAdditional reward type
Bonus Reward ValueNoneAmount of bonus
Max ParticipantsUnlimitedCap on participation
Is FeaturedNoHighlight on mobile app
Badge Color#10B981Accent color

Example Configuration

Weekend Warrior Challenge:

Name: Weekend Warrior
Description: Complete 5 rides on Saturday or Sunday this month
Challenge Type: Weekend Warrior
Target: 5 rides
Start Date: December 1, 2024 12:00 AM
End Date: December 31, 2024 11:59 PM
Points Reward: 500
Bonus Reward Type: Wallet Credit
Bonus Reward Value: 250 cents ($2.50)
Max Participants: Unlimited
Is Featured: Yes
Badge Color: #F59E0B

Challenge Lifecycle

Challenge States

Challenges move through distinct states:

UPCOMING → ACTIVE → ENDED
StateDescriptionCustomer Can Join?Progress Tracked?
UpcomingBefore start dateYesNo
ActiveBetween start and endYesYes
EndedAfter end dateNoNo

Lifecycle Timeline

Day 1        Day 7        Day 14       Day 21       Day 28
  │            │            │            │            │
  ▼            ▼            ▼            ▼            ▼
Created    Active       Active       Active       Ended
(Upcoming)  Begins      Progress     Completion   Results
            ───────────────────────────────────────>

What Happens at Each Stage

Upcoming:

  • Challenge visible in app with "Coming Soon" badge
  • Customers can pre-join
  • Progress not yet tracked

Active:

  • Challenge appears with countdown timer
  • New customers can join
  • All activity is tracked toward goal
  • Completions trigger rewards

Ended:

  • No new joins allowed
  • Progress frozen
  • Incomplete participants are marked as not completed
  • Challenge moves to "Ended" filter

Bonus Rewards

Beyond points, challenges can award bonus rewards:

Wallet Credit (wallet_credit)

Direct credit added to customer wallet.

ConfigurationResult
Value: 500 cents$5.00 added to wallet
Value: 250 cents$2.50 added to wallet

Use case: Provide immediate, tangible value.

How it works:

  1. Customer completes challenge
  2. Points are awarded (if configured)
  3. Wallet credit is added to balance
  4. Customer receives notification

Free Unlocks (free_unlock)

Complimentary vehicle unlocks.

ConfigurationResult
Value: 11 free unlock
Value: 33 free unlocks

Use case: Encourage additional rides.

How it works:

  1. Customer completes challenge
  2. Free unlocks added to their balance
  3. Used automatically on next rides
  4. Don't expire (unlike tier free unlocks)

Tier Boost (tier_boost)

Temporarily boost the customer's tier benefits.

ConfigurationResult
Value: 11 tier level boost
Value: 22 tier levels boost

Use case: Give customers a "taste" of higher tier benefits.

How it works:

  1. Customer completes challenge
  2. Tier boost applied temporarily
  3. Customer enjoys higher tier benefits
  4. Boost expires after a set period

Advanced Feature

Tier boost temporarily elevates the customer's effective tier.

Choosing Bonus Types

GoalRecommended Bonus
Increase ridesFree Unlocks
Increase spendingWallet Credit
New customer activationWallet Credit
RetentionFree Unlocks
Tier promotionTier Boost

Featured challenges get prominent placement in the mobile app:

  • Top Position: Appears first in challenge list
  • Visual Highlight: Special "Featured" badge
  • Push Eligibility: Can be included in push notifications
  • Dashboard Visibility: Shows in quick stats

When to Feature

  • Major Promotions: Seasonal events, holidays
  • Important Goals: Parking compliance, off-peak riding
  • Limited Time: High-value rewards with short duration

Feature Limit

Recommend only 1-2 featured challenges at a time. Too many dilutes the effect.


Managing Challenges

Dashboard Overview

The challenges page displays:

Statistics Cards:

  • Active Challenges: Currently running
  • Total Participants: Sum across all active
  • Completion Rate: Completed / Joined percentage
  • Top Challenge: Most popular active challenge

Filter Tabs:

  • Active: Currently running challenges
  • Upcoming: Scheduled for future
  • Ended: Past challenges
  • All: Complete list

Challenge Cards

Each challenge card shows:

  • Name and description
  • Status badge (Active/Upcoming/Ended)
  • Featured badge (if applicable)
  • Goal type and target
  • Points reward
  • Start and end dates
  • Participation stats (X/Y completed)
  • Progress bar

Editing a Challenge

  1. Find the challenge
  2. Click the pencil (Edit) icon
  3. Modify settings
  4. Click "Update"

Important

Changing target or dates may affect customer experience. Communicate changes.

Deleting a Challenge

  1. Find the challenge
  2. Click the trash (Delete) icon
  3. Confirm deletion

What happens:

  • Challenge is marked inactive
  • Removed from customer view
  • Progress records preserved
  • Rewards already earned are kept

Mobile App Experience

Discovery

Customers find challenges in the Loyalty section:

Active Challenges Section:

┌─────────────────────────────────┐
│ Active Challenges               │
│    2/3 joined                   │
├─────────────────────────────────┤
│ Weekend Warrior                 │
│    Complete 5 weekend rides     │
│    [████████░░░░░] 4/5          │
│    +500 pts  Ends in 2 days     │
├─────────────────────────────────┤
│    Early Bird Special           │
│    [Join Challenge]             │
│    +300 pts  Ends in 5 days     │
└─────────────────────────────────┘

Joining a Challenge

  1. Customer views challenge details
  2. Taps "Join Challenge" button
  3. Progress tracking begins immediately
  4. Challenge appears in "My Challenges"

Progress Tracking

Joined challenges show:

  • Progress bar with current/target
  • Percentage complete
  • Time remaining
  • Completion status

Completion

When goal is reached:

  1. Challenge marked as completed
  2. Points credited to balance
  3. Bonus rewards applied (if any)
  4. Shown in activity feed

Best Practices

Challenge Design

  1. Clear Goals

    • Specific, measurable targets
    • Easy-to-understand requirements
    • Achievable within timeframe
  2. Appropriate Duration

    • 7 days: Quick engagement boost
    • 14 days: Balanced challenge
    • 30 days: Monthly retention goals
  3. Compelling Rewards

    • Proportional to difficulty
    • Mix of points and bonus rewards
    • Consider segment targeting

Duration Guidelines

DurationBest ForExample
3-5 daysFlash promotions"Weekend Blitz"
7 daysWeekly engagement"Weekly Rider"
14 daysHabit formation"Two Week Streak"
30 daysMonthly goals"Monthly Explorer"

Reward Guidelines

DifficultyPointsBonus Suggestion
Easy (3-5 rides)200-3001 free unlock
Medium (10-15 rides)400-600$2-3 credit
Hard (20+ rides)800-1200$5+ credit
Extreme (50+ rides)1500-2500$10+ credit

Timing Strategies

ScenarioTiming
Slow weekendsLaunch Friday, end Sunday
Monthly engagement1st to 30th/31st
Holiday periodsWeek before through day after
Summer slump2-week challenges
New market launch30-day introductory

Monthly Rotation:

WeekChallenge TypeGoal
Week 1Rides countComplete X rides
Week 2Parking zoneEnd in zone X times
Week 3DistanceTravel X km
Week 4Special/SeasonalVaries

Frequently Asked Questions

Participation

Q: Can customers join an ended challenge? A: No, once a challenge ends, no new participants can join.

Q: Can a customer leave a challenge after joining? A: Currently no. Once joined, they're committed until it ends.

Q: What if a customer doesn't complete a challenge? A: No rewards are given. Their progress is preserved in records.

Progress

Q: Does progress from before joining count? A: No, only activity after joining counts toward the goal.

Q: What happens to progress if I edit the challenge target? A: Existing progress is compared against the new target.

Q: Can customers see each other's progress? A: Currently no, challenges are individual progress only.

Rewards

Q: When are rewards credited? A: Immediately upon completion of the challenge goal.

Q: What if the challenge ends while a customer is mid-progress? A: They don't receive rewards. Only completion before end time counts.

Q: Can rewards be revoked? A: Not automatically. Manual adjustments are needed by an admin.

Technical

Q: What timezone is used for start/end times? A: The account's configured timezone.

Q: How often is progress updated? A: After every ride completion, challenge progress is recalculated.

Q: Is there a limit on concurrent challenges? A: No technical limit, but 3-5 active is recommended for UX.


Technical Reference

Challenge Type Mapping

UI NameAPI ValueDescription
Complete Ridesrides_countTotal rides in period
Travel Distancedistance_kmCumulative km
Maintain Streakstreak_daysConsecutive days
Consecutive Daysconsecutive_daysCalendar day streak
Preferred Parkingparking_zoneZone end count
Weekend Warriorweekend_warriorSat/Sun rides
Early Birdearly_birdPre-9 AM rides
Night Owlnight_owlPost-8 PM rides
Eco Championeco_championCO2 saved

Database Schema

challenges table:

ColumnTypeDescription
iduuidPrimary key
account_iduuidParent account
nametextDisplay name
descriptiontextHow to complete
challenge_typetextGoal type
target_valueintNumeric goal
target_metadatajsonbAdditional config
points_rewardintPoints on completion
bonus_reward_typetextExtra reward type
bonus_reward_valueintExtra reward amount
badge_icon_urltextCustom icon
badge_colortextHex color
starts_attimestampBegin time
ends_attimestampEnd time
max_participantsintParticipation cap
is_featuredbooleanHighlight flag
is_activebooleanEnabled status
created_attimestampCreation date
updated_attimestampLast update

customer_challenge_progress table:

ColumnTypeDescription
iduuidPrimary key
customer_iduuidParticipant
challenge_iduuidChallenge reference
account_iduuidParent account
current_progressintProgress toward goal
joined_attimestampJoin time
completed_attimestampCompletion time (null if not)
rewards_grantedbooleanRewards given flag

API Endpoints

EndpointMethodDescription
/api/loyalty/challengesGETList challenges
/api/loyalty/challengesPOSTCreate challenge
/api/loyalty/challenges/[id]GETGet challenge
/api/loyalty/challenges/[id]PUTUpdate challenge
/api/loyalty/challenges/[id]DELETEDelete challenge
/api/mobile/loyaltyPOSTJoin challenge (action=join_challenge)

Need Help?

For challenges configuration assistance, contact support@levyelectric.com.