This glossary explains the key metrics, charts, and concepts used in the Time Tracking dashboard.
Summary Cards
| KPI | Description | How it's measured |
| Total Time |
The total estimated working time across all selected workers and modules in the selected date range. |
Sum of all session durations. A session is a sequence of consecutive events where each gap is ≤ the session gap threshold (default: 5 min). |
| Active Workers |
Number of distinct users who logged at least one event in the selected period. |
Count of unique worker names found in the event data. |
| Avg. Time/Worker |
Average total time per active worker. |
Total Time ÷ Active Workers |
| Taiga Closed |
Taiga issues closed in the period, credited to their assignee. Archived issues are shown beside the number, never inside it. |
Issues whose status is flagged is_closed with a finished_date in the window. Credit follows the current assignee, so reassigning after closing moves it; reopening clears the date, so only the latest close counts. |
| Regions Annotated |
Regions a person drew in the Image Annotator. The subtitle adds the two other things they did to the model's pre-annotation: regions deleted and corrections made. |
One event per region created (add_region + sam_segmentation, which are disjoint). Deletions come from user_data.del_region_count, so they are regions rather than clicks. Corrections are change_region_attribute + resize_region — edits to regions the batch already had, i.e. YOLO's. Never summed together: they measure different things. |
| Time/Image |
Average annotation time per image. Annotation only — Image QS time is excluded even when the QS module is selected, because a QS pass over a batch is a different activity from annotating it. |
Image Annotator session seconds ÷ the images in the batches touched. A batch counts once however many people worked on it. Time comes from this counter's own fetch, never from the worker row (which may also hold cleaning time). |
| QS Cleaned |
Regions removed by an Image QS save; reclassifications are shown beside it. |
Sum of user_data.count on qs_cleaning, logged on save success — so it counts regions that really went, not clicks. Shows an em dash rather than 0 for a window before that event existed, because there is no backfill. |
| Items Cleaned |
Placements a Cleaner deleted or renamed. Undeletes are reported beside the number, not inside it. |
Sum of user_data.count on log_cleaning (logged on success), not a count of clicks — one click removes anywhere from one placement to several thousand. Bulk filter actions record no count at all, so the real volume is this number plus an unknown amount; they are surfaced as uncounted actions. |
Sessions & Time Calculation
What is a session?
A session represents a continuous period of activity for a single worker in a single module. Events are sorted chronologically, and consecutive events with gaps smaller than the session gap threshold are merged into one session.
Session Gap Threshold: 5 minutes (configurable via server config SHIKENSO_TIME_TRACKING_SESSION_GAP_SECONDS).
Session Duration = timestamp of last event in session − timestamp of first event in session.
Example: If a worker triggers events at 09:00, 09:03, 09:07, and then the next event is at 09:25, the first three events form one session (7 min), and the 09:25 event starts a new session.
All dates and clock times on this page are UTC, so that every surface agrees and a number can be reproduced from the date range alone. A day runs 00:00–24:00 UTC, which means work done before 02:00 in Germany (08:00 in Manila) counts towards the previous day. Other Jobs Manager pages still show your local time, so the same event can carry two different clock readings.
Charts
| Chart | Description |
| Time by Worker |
Doughnut chart showing the top 32 workers by total time. Remaining workers are grouped as "Others". Click a segment to toggle that worker as a filter. |
| Daily Trend |
Shows time-per-day over the selected range. Display modes:
- Stacked by Worker – Area chart with one layer per worker (top 10 or selected)
- Total Hours – Single line showing aggregate hours per day
- Bar Chart – One bar per day for total hours
- Combined – Bar for total daily hours + line per worker overlay
|
| Time by Module |
Horizontal bar chart showing hours per module (e.g. Image Annotator, Image QS, Cleaner). Stacked by job category when available (Social Media / Newspaper / Other). |
| Time by Customer |
All customers by total time. Can be stacked by category or by module. Shows which customers consume the most annotation/QS effort. |
Modules
| Module | Description |
| Image Annotator | Time spent creating and editing bounding-box annotations on images for YOLO model training. |
| Image QS | Time spent on quality assurance (QS) of image annotations – reviewing and correcting annotated data. |
| Cleaner (Chat) | Time spent in the Chat Cleaners (ChatQS + ChatQSBot), reviewing and cleaning chat message detections and bot-detection. |
| Cleaner (Video) | Time spent in the Video Cleaners (VideoQS + VideoQSFinal), cleaning up and performing final review of video detection results. |
| Cleaner (VoiceQS) | Time spent in the Voice QS Cleaner, reviewing and cleaning voice analysis results. |
| Customer Dashboard (Prod) | Time spent on customer-facing setup tasks on production (shikenso.com). |
| Customer Dashboard (Dev) | Time spent on customer-facing setup tasks on the dev environment. |
| Jobs Manager | Time spent managing jobs (creating, archiving, prioritizing, uploading). |
Job Categories
| Category | Description |
| Social Media |
Jobs whose name starts with social_media_. Typically social media content analysis. |
| Newspaper |
Jobs whose name starts with newspaper_ or newspapers_. Print/online media analysis. |
| Other |
All remaining jobs (typically livestream/VoD analysis). |
Worker Details Table
| Column | Description |
| Worker | The username of the person who performed the actions. |
| Total Time | Sum of all session durations for this worker in the selected period and filters. |
| Sessions | Number of distinct sessions detected for this worker. |
| Events | Raw count of individual tracked events (clicks, saves, page loads, etc.). |
| Δ Change | Only with comparison enabled: this worker’s time difference and percentage change against the previous period. |
| Taiga Closed | Taiga issues closed in the period, credited to the current assignee. See the Summary Cards table above. |
| Regions | Regions drawn in the Image Annotator, with regions deleted shown after it in grey. Hover for the full split: drawn, via SAM, deleted, relabelled, resized, and arrow-key nudges. A worker with 0 regions and a large deletion count did QC work, not nothing. Arrow-key nudges are a box shifted with the arrow keys, logged once per keypress — shown for context but not scored, since counting them would rank a keyboard user an order of magnitude above a mouse user for the same work. |
| Time/Image | This worker’s annotation seconds per image. Blank when none of their batches has a known image count. |
| QS Cleaned | Regions removed by their Image QS saves, with reclassifications after it in grey. |
| Cleaned | Placements they deleted or renamed in a Cleaner. Hover for undeletes and any bulk actions whose volume the log does not record. |
| Time Distribution | Visual bar showing this worker's share of total time as a percentage. |
| Timeline | Opens a detailed chronological view of the worker's sessions and events, grouped by day. |
Period-over-Period Comparison
Enable the Compare with previous period checkbox to overlay a previous time range on all charts, KPI cards, and worker tables.
Auto mode (default): The comparison range is computed automatically as the period of equal length immediately before your selected start date.
Manual mode: Click the Manual button to pick custom comparison dates.
| Element | How comparison is shown |
| Summary Cards |
A +12.3% or -5.2% badge appears below each KPI value. |
| Daily Trend |
A dashed line/bar overlay shows the previous period’s values aligned day-by-day. |
| Module & Customer Bars |
Translucent dashed-border bars appear next to the current period bars. |
| Workers Table |
A “Δ Change” column shows the time difference and percentage change per worker. Workers present only in the previous period appear in a separate section at the bottom. |
| CSV Exports |
When comparison is active, exported CSVs include previous-period values and delta columns. |
Filters
| Filter | Description |
| Date Range | Start and end dates, interpreted as UTC calendar days — so are the preset buttons (This Week, Last Week, This Month, Last Month). Only events within this range are included. |
| Modules | Filter by one or more modules. Selecting a single module shows a detailed view with daily trends and per-job breakdowns. Selecting none shows a summary across all modules. |
| Workers | Filter to specific workers. Supports free-text tags and multi-select. Leave empty for all workers. |
| Customers | Filter by GPM customer name. Only events associated with jobs belonging to these customers are included. |
Tracked Events by Module
Every user interaction listed below is recorded as an event and sent to the central logger.
Time tracking works by grouping consecutive events from the same worker into sessions.
The event names below are the raw values stored in the database.
Image Annotator image_annotator
| Event | Description |
open | User opens a job in the Image Annotator. Logged once per job load. |
save | User saves annotations for the current batch. Triggers data write to MongoDB via Jobs Manager. |
add_region | A new bounding-box or polygon region is drawn on the current image. |
resize_region | An existing region is resized (dragging a handle). |
move_region | An existing region is nudged with the arrow keys — once per keypress, so shifting one box ten pixels logs ten events. Shown in the Regions tooltip for context but deliberately excluded from the correction count, which would otherwise rank a keyboard user an order of magnitude above a mouse user for the same work. |
del_sel_regions | One or more selected regions are deleted. |
change_region_attribute | A region’s label or other attribute is changed (e.g. assigning a class name). |
sam_segmentation | The SAM AI segmentation model is invoked to auto-generate polygon masks from bounding boxes. |
jump_to_image | User navigates directly to a specific image by index or thumbnail click. |
move_to_prev_image | User navigates to the previous image in the batch. |
move_to_next_image | User navigates to the next image in the batch. |
auto_label_suggested | The auto-label AI suggested a label for a new region based on nearby existing annotations. |
auto_label_no_match | The auto-label AI could not find a matching label for the region (no nearby annotations or low confidence). |
auto_label_corrected | User manually corrected or overrode an auto-label suggestion by changing the region’s attribute. Logged from inside change_region_attribute, so it is a strict subset of it — adding the two together double-counts. It concerns the embedding label suggester, not the YOLO pre-annotation, which is why the Regions counter does not use it. |
Image QS image_qs
| Event | Description |
open | User opens a QS (quality sample) job for review. |
save | User saves QS review changes. The regions marked for removal are applied here. |
delete | User toggles a region’s removal marker — and it fires again when they un-toggle it. It carries no count and the removal itself happens on save, so this event does not measure deletions and is deliberately not read by the QS Cleaned counter. |
qs_cleaning | Logged on save success, once per type, with the number of regions that save really removed (type: delete) or reclassified (type: rename) in user_data.count. This is what QS Cleaned counts. |
Cleaner cleaner
Includes Video Cleaners (VideoQS + VideoQSFinal), Chat Cleaners (ChatQS + ChatQSBot), VoiceQS Cleaner, and Cluster Cleaner variants. All share the cleaner module name. In the dashboard, Chat and Video variants are merged into Cleaner (Chat) and Cleaner (Video).
| Event | Description |
next_asset | User navigates to the next asset (brand/logo) in the cleaning queue. |
select_click | User clicks on a detection item to select it for action. |
delete_click | User marks a single detection item for deletion. |
rename_click | User marks a detection item for renaming (label correction). |
delete_execute | User executes all pending deletions (batch commit). |
rename_execute | User executes all pending renames (batch commit). |
log_cleaning | Summary event logged when a cleaning action completes. Contains counts of deleted/renamed items in user_data. |
page_change | User navigates to a different page in the detection gallery. |
filter_change | User changes a filter setting (deleted mode, sort order, date range, channel, event). |
filter_apply | User applies range-slider filters (size, duration, confidence, movement). |
filter_reset | User resets all filters to their defaults. |
toggle_cluster | User toggles the cluster grouping mode on or off. |
toggle_inverse | User toggles inverse selection mode (select everything except the current selection). |
mode_switch | User switches between cleaning and renaming mode. |
clear_selection | User clears the current item selection. |
undelete_click | User restores a single previously-deleted item. |
undelete_all_asset | User restores all deleted items for the current asset. |
delete_all_cluster | User deletes an entire cluster of similar detections at once (Cluster Cleaner). |
delete_chat | User deletes a single chat message (Chat QS Cleaner). |
delete_chats_multiple | User deletes multiple chat messages at once (Chat QS Cleaner). |
undelete_chat | User restores a previously-deleted chat message (Chat QS Cleaner). |
undelete_chats_multiple | User restores multiple previously-deleted chat messages (Chat QS Cleaner). |
set_sentiment | User sets the sentiment label (positive/neutral/negative) on a chat message (Chat QS Cleaner). |
set_source | User sets the source type (organic/bot) on a chat message (Chat QS Bot Cleaner). |
select_sender | User selects a chat sender to filter or inspect their messages (Chat QS Cleaner). |
Jobs Manager jobs_manager
| Event | Description |
create_yolo_batch | User creates a new YOLO training batch from job videos (frame extraction + S3 upload). |
toggle_ready_for_process | User toggles the “ready for process” flag on a job. |
update_customer | User changes the customer assignment of a job. |
toggle_voice_job | User toggles the voice/audio job flag. |
set_priority | User changes the priority level of a job. |
reset_job | User resets a job to its initial state. |
archive_job | User archives a completed or inactive job. |
unarchive_job | User restores an archived job. |
delete_job | User deletes a job (soft delete). |
update_job | User updates job metadata (e.g. video list, settings). |
create_job | User creates a new job, specifying model and voice job flag. |
clear_video_errors | User clears broken/errored video entries for a job. |
clear_audio_errors | User clears broken/errored audio entries for a job. |
recreate_tsv | User triggers recreation of the TSV output file for a job. |
delete_batch | User deletes a YOLO training batch from a job. |
upload_batch | User uploads a YOLO training batch to a job. |
skip_train | User skips YOLO model training for a job. |
page_open | User opens the Time Tracking page (logged with job test_henlein). |
export_events_csv | User exports the raw events table as CSV (Time Tracking page). |
export_workers_csv | User exports the workers summary table as CSV (Time Tracking page). |
export_chart_csv | User exports a chart’s data as CSV (Time Tracking page). |
reset_filters | User resets all filters on the Time Tracking page. |
apply_filters | User applies date/module/worker/customer filters on the Time Tracking page. |
view_worker_timeline | User opens the detailed timeline view for a specific worker (Time Tracking page). |
Customer Dashboard customer
Events from the customer-facing dashboards (Summary, Video, Channel, Voice, Social, Articles, etc.). Job field contains the customer name (kunde).
| Event | Description |
dashboard_enter | User opens a customer dashboard page. |
dashboard_filtered | User applies or changes filter settings on the dashboard. |
ui_view_dropdown | User selects an option from a chart/view dropdown (e.g. switching chart type or metric). |
ui_table_pagination | User navigates to a different page in a data table. |
ui_filter_column_toggle | User expands or collapses a filter column in the side panel. |
ui_filter_items_collapse_expand | User collapses or expands filter items within a filter group. |
ui_filter_sort | User sorts filter items alphabetically or numerically. |
ui_nav_dropdown | User selects an item from the main navigation dropdown. |
ui_nav_dropdown_download | User clicks the download option in the navigation. |
ui_nav_quickfilter_dropdown | User uses the quick-filter dropdown in the side navigation. |
ui_nav_archive | User switches between archive years or ongoing view. |
ui_nav_currency | User changes the currency setting. |
ui_nav_faq | User opens the FAQ page. |
ui_nav_spm | User navigates to the SPM (Sponsorship Performance Metric) section. |
ui_nav_additional_tabs | User clicks additional tab links in the side navigation footer. |
ui_nav_notifications | User opens the notifications panel. |
ui_nav_notifications_feature | User clicks on a feature notification to see the feature intro. |
voice_play_audio | User plays an audio snippet in the Voice dashboard. |
voice_show_chats | User opens the chat transcript view in the Voice dashboard. |
voice_open_vod | User clicks to open the VoD source (Twitch/YouTube) for an audio snippet. |