Overview
The Winners (Premiados) module enables random selection of winners from participants who have completed dilemmas. This feature is ideal for prize giveaways, incentive programs, and recognition campaigns to boost engagement and motivation.Purpose & Use Cases
Prize Giveaways
Randomly select winners from top performers for prizes, gift cards, or rewards
Recognition Programs
Highlight standout participants in team meetings or company communications
Incentive Campaigns
Create gamified competitions with random winner selection to drive completion rates
Fair Selection
Ensure unbiased, transparent winner selection with automated randomization
How It Works
Select Dilemma
Pick the specific dilemma from which to draw winners (dropdown populates based on selected client)
Apply Score Filters (Optional)
Set minimum and/or maximum score thresholds to filter eligible participants
Selection Criteria & Filters
Required Filters
- Client: The organization whose participants are eligible
- Dilemma: The specific game/dilemma to draw winners from
- Winner Count: Number of winners to select (default: 1)
Optional Score Filters
Filter the eligible participant pool by performance:| Filter | Description | Example Use Case |
|---|---|---|
| Min Score | Minimum score required to be eligible | Only select from participants who scored ≥70 |
| Max Score | Maximum score allowed for eligibility | Select from mid-performers (exclude top 10%) |
| Combined | Both min and max | Select from 50-80 score range |
Score filters help you target specific performance tiers. For example:
- Top Performers:
min_score=80 - Mid-Tier Participants:
min_score=50&max_score=79 - All Participants: Leave both blank
Winner Selection Algorithm
The system uses random selection from eligible participants:- Must have started the selected dilemma
- Must meet score threshold criteria (if specified)
- Each user can only win once per selection (no duplicates)
Winner Display Table
Once generated, winners are displayed in a comprehensive table:Columns Displayed
| Column | Information | Notes |
|---|---|---|
| Puesto | Winner position (1, 2, 3…) | Auto-numbered |
| Usuario | User display name or ID | With avatar initial |
| Estado | Completion status | 🟢 Terminado or 🟡 En curso |
| Puntaje | Final score | Displayed with “pts” badge |
| Fecha Actividad | Date/time of activity | Shows finish date if completed, otherwise start date |
| Feedback / Estrellas | Feedback status | Shows if user left feedback and star rating (1-5) |
Status Indicators
Terminado (Finished):Feedback Integration
The winner table shows whether each winner provided feedback:- Feedback OK: Green badge with star rating (⭐⭐⭐⭐⭐)
- Sin Feedback: Gray badge indicating no feedback submitted
CSV Export Functionality
Export Process
- Click “Descargar Ganadores a Excel” button
- System generates CSV with UTF-8 BOM for Excel compatibility
- File downloads as
ganadores_YYYYMMDD_HHMMSS.csv
CSV Structure
export_winners.php) fetches fresh data for the winner IDs and generates the CSV.
Empty State Handling
If no participants meet the criteria:“Sin participantes” Message:No se encontraron usuarios que hayan completado este dilema para realizar el sorteo.Possible Reasons:
- No users have finished the selected dilemma
- Score filters are too restrictive
- The dilemma has no active participants
Client Filter with TomSelect
The client dropdown uses TomSelect for enhanced UX:- Searchable dropdown with type-ahead
- Auto-sorted alphabetically
- Auto-submits on selection to populate dilemma dropdown
Workflow Examples
Example 1: Monthly Top Performer Raffle
Example 2: Mid-Tier Engagement Boost
Example 3: Completion Incentive (All Finishers)
Best Practices
Fair Score Thresholds
Set minimum scores that are achievable (e.g., 60-70) to maintain fairness while ensuring quality
Announce Ahead
Tell participants about the prize drawing before they start to maximize engagement
Export Immediately
Download the CSV right after generation - results are not persisted
Transparent Communication
Share the selection criteria with participants to build trust
Access Control
Access Level: All authenticated users (no explicit restrictions in the code) However, in practice:- Typically used by administrators and HR/training coordinators
- Client users may have access but see only their own client’s data
- Requires authentication (redirects if not logged in)
Related Features
- Feedback Management - View feedback from winners
- User Management - Manage participant accounts
- Dilemma Games - View dilemma completion statistics