SetLedger Features
A complete analytics suite designed around the way DJs actually work -- from single-set review to long-term rotation tracking across hundreds of sessions.
Session Intelligence and Import
SetLedger reads Serato history CSV exports and automatically detects individual sessions within them. Each session is identified by gaps in playtime, ensuring that a single file covering multiple gigs is correctly split into discrete sets. Sessions are tagged with date, venue, event type, and duration metadata.
The import system handles duplicate detection using content-based fingerprinting. If a file or session has already been uploaded, SetLedger recognizes it and prevents double-counting. Pro users can batch-import multiple files at once, processing an entire history archive in a single operation.
Event types include nightclub, bar, lounge, wedding, corporate, private event, festival, radio, and restaurant -- allowing DJs to categorize and filter their analytics by context.
BPM Journey Visualization
Every session includes a BPM journey chart that plots the tempo of each track played against time. This visualization reveals the energy arc of a set -- showing warm-up progressions, peak-time intensity, and wind-down patterns at a glance.
DJs use BPM journey charts to evaluate pacing decisions after the fact, comparing the energy flow of different sets across different venues. The chart highlights the minimum, maximum, and average BPM for each session, making it easy to identify stylistic tendencies and audience-response patterns.
Track Rotation Analysis
SetLedger classifies every track in a DJ's library by its rotation status, calculated from play frequency over time. Tracks are categorized as "In Rotation" (consistently played), "Rising" (appearing more frequently, with a 20% or greater increase), "Declining" (appearing less frequently, with a 20% or greater decrease), "Retired" (not played in recent sessions), or "Forgotten" (previously regular tracks that have dropped off entirely).
This classification surfaces trends that are invisible when reviewing individual sets. A DJ might not realize a once-favorite track has been unconsciously dropped until the rotation analysis flags it. Similarly, rising tracks indicate selections gaining confidence -- useful data when preparing upcoming sets or evaluating recent music purchases.
Most-Played Tracks and Trends
The most-played tracks view ranks every song by total play count across all sessions, with trend indicators showing whether each track is being played more or less frequently compared to earlier periods. Users can filter by time range (last 30 days, 90 days, 6 months, all-time) and by session duration to focus on specific types of gigs.
Each track entry shows the artist, title, total plays, last played date, and a trend arrow indicating direction. Clicking a track reveals its full play history -- every session it appeared in, with dates, venues, and position within the set.
Venue Analytics
For DJs who play at multiple locations, venue analytics show which songs perform best at which venues. SetLedger tracks the top songs per venue, session frequency at each location, and average set metrics (duration, tracks per hour, BPM range) broken down by venue.
This allows DJs to tailor preparation for specific residencies, understanding that certain tracks work at one venue but not another. Venue autocomplete ensures consistent naming across sessions, and venue-specific modal views display the full session history for any location.
Event Series Tracking
For DJs with recurring gigs -- weekly residencies, monthly events, or branded party series -- SetLedger supports event series grouping. Sessions can be tagged with a series name, enabling analytics that span an entire run of events rather than individual dates.
Event series analytics show top tracks across the series, session count, and performance trends specific to that recurring engagement. This is particularly useful for resident DJs who need to avoid over-rotating tracks for regular audiences.
Genre and Key Distribution
SetLedger analyzes the genre and musical key metadata from uploaded tracks to show distribution patterns across sessions and over time. Genre analytics reveal whether a DJ's selections are shifting -- perhaps incorporating more house into a typically hip-hop set, or trending toward deeper selections over months.
Key analytics show the harmonic distribution of tracks played, useful for DJs who practice harmonic mixing and want to understand their key preferences and tendencies. Both views support filtering by time range and event type.
Forgotten Songs Reminders
The forgotten songs feature identifies tracks that were once regularly played but have not appeared in recent sessions. These are not tracks that were deliberately retired -- they are songs that slipped out of rotation without conscious decision.
SetLedger surfaces these tracks as reminders, helping DJs rediscover selections they once relied on. This is particularly valuable for DJs with large libraries who may forget about effective tracks as new music enters their collection.
Performance Metrics and Pacing
Each session includes quantitative performance metrics: total tracks played, set duration, tracks per hour, average track duration, longest and shortest plays, and BPM statistics (min, max, average, range). These metrics help DJs understand their pacing tendencies.
A DJ averaging 18 tracks per hour at a lounge gig versus 28 at a club night can use this data to calibrate preparation. Over time, trends in these metrics reveal evolution in style -- whether a DJ is tending toward longer blends or quicker transitions.
Duplicate Detection and Data Integrity
SetLedger generates a content-based fingerprint for each uploaded session. This fingerprint captures the essential structure of the set -- the tracks, their order, and timing -- so that re-uploading the same file or an overlapping export does not create duplicate entries.
When a duplicate is detected, the user is notified with details about the matching session. This ensures analytics remain accurate even when users export and upload overlapping date ranges from Serato.
Privacy and Security
All data in SetLedger is protected by Supabase Row Level Security (RLS) policies. Every database query is scoped to the authenticated user, making it technically impossible for one user to access another's session data, tracks, or analytics -- even in the event of an application-level bug.
SetLedger does not share, sell, or expose user data. There are no social features, public profiles, or data-sharing mechanisms. Each DJ's history is entirely private, accessible only to them.
Start tracking your sets today.
Get Started Free