S StreamifyЛокальная аналитика Яндекс Музыки

Личная аналитика Яндекс Музыки на вашем ноутбуке.

Пример инсайтов, собранный на sample metadata. Метаданные остаются локально: ingestion, DuckDB/dbt, dashboard, отчеты, action queues и воспроизводимая документация.

Жанровый сдвиг
Artist gravity 3.4x
Playlist overlap 0.28
Monthly rhythm

Streamify Yandex Music Self-Analytics Summary

Generated: 2026-06-17 19:22 UTC

Executive Summary

  • The latest raw run source is sample from 2026-06-17 19:22:32.335626. Use this to distinguish deterministic sample data from real Yandex Music metadata.
  • The library contains 3 tracks across 3 artists and 2 playlists. The local warehouse estimates about 0.2 hours of catalogued music metadata.
  • Taste concentration is 66.7% for the top artist and 66.7% for the top genre. Use those shares to judge whether recommendations are narrow or broad.
  • The latest ingestion health is fresh. The dashboard and report are driven by the same DuckDB marts, so this summary is reproducible from the local data files.

What The Local Library Looks Like

These headline metrics come from yamusic_library_profile, the one-row mart that combines raw ingestion freshness, artist concentration, playlist coverage, genre availability and signal counts.

TracksLikedArtistsPlaylistsLibrary hoursKnown genresActive monthsStaleSource
32320.1823nosample

Raw Ingestion Counts

These counts come from _manifest.json through stg_yamusic_manifest and are copied into yamusic_library_profile to make stale dbt builds visible.

Manifest generatedJSON onlyAdapterAdapter versionClient libraryClient versionRaw tracksRaw artistsRaw albumsRaw playlistsRaw playlist tracksRaw events
2026-06-17 19:22:32.335626noyamusic_ingest0.1.0yandex-music2.2.0332244

Raw File Checksums

These SHA256 checksums identify the exact JSONL files used for the local DuckDB build.

TracksArtistsAlbumsPlaylistsPlaylist tracksEvents
5b319071dceeb2519a1b9a81b4e4bc232aa46a795f05d997dad2e6ba745098e78c9d674ef5e4f75fd48029c964d3ff6d6e8d2169a458ce0bb817abe6af6310b9eb91c86b9d5081ee7694b0a2291cb0f9c132f3e19b8fd5d1d3d39fe216f1077eec310970e553275ae59f0c6038942d4545186b98d0bc9ec4acf19c9b826bf29056b9af2eedb7534ed1e743a8c14601af5647a6858ad5ffafa1fc5ec0919dca7245c6dcb2b4cf251fd706e56a26a82b8ed3b66441f4b8c0ce4464f7d5bcb9c656

Ingestion Diagnostics

Diagnostics are aggregate counters only. They help identify partial Yandex Music API responses without storing skipped track, playlist or account identifiers.

Liked shortcuts seenLiked tracks writtenLiked fetch failuresLiked missing IDsLiked duplicates skippedLiked albums seenLiked albums writtenLiked albums missing IDsLiked album duplicates skippedLiked artists seenLiked artists writtenLiked artists missing IDsLiked artist duplicates skippedLiked playlists seenLiked playlists writtenLiked playlists missing IDsLiked playlist duplicates skippedPlaylists seenPlaylists writtenPlaylists missing IDsPlaylist fetch fallbacksPlaylist tracks seenPlaylist tracks writtenPlaylist track fetch failuresPlaylist tracks missing IDsPlaylist duplicates skipped
22000000000000000220044000

Artist Affinity Is The Main Taste Signal

Top artists are ranked by catalog presence first, then liked-track count. This makes the table useful for deciding whether the library is concentrated around a few artists or spread across many smaller preferences.

ArtistTracksLiked tracksPlaylist slotsSlots per track
Nadia Vector2131.50
Duck DB Trio1111
The Lineage1011

Genre Shifts Depend On Metadata Coverage

Genre-period rows use only tracks where Yandex Music exposes genre metadata. When genre coverage is sparse, treat this as a directional view rather than a complete listening history.

MonthGenreEventsTracksShare
2026-06-01electronic11100.0%
2026-04-01electronic1150.0%
2026-04-01jazz1150.0%
2026-01-01electronic11100.0%

Repeats And Underrated Tracks Show Actionable Library Work

Repeated tracks are useful for playlist cleanup and taste concentration checks. Underrated tracks are liked tracks with low playlist coverage, which makes them candidates for rediscovery playlists.

TrackArtistGenrePlaylist slotsPlaylistsRepeat signal
Midnight LocalNadia Vectorelectronic224
Parquet MorningDuck DB Triojazz112
Repeat SignalNadia Vector, The Lineageelectronic112
TrackArtistGenrePlaylist slotsPlaylists
Parquet MorningDuck DB Triojazz11

Playlist Overlap Highlights Where Curation Can Improve

Underrated playlists have high uniqueness and low overlap. They are good candidates for highlighting because they add variety rather than duplicating the same tracks across the library.

No underrated-playlist candidates are available.

Recommended Next Steps

  • Use make dashboard for interactive filtering after reading this static summary.
  • Run make acceptance-real after adding a real YANDEX_MUSIC_TOKEN to refresh the report from account metadata.
  • Watch stale_ingestion_flag; if it is true on a real account, rerun ingestion or inspect whether the API returned timestamped events.

Further Questions

  • Which genres or languages are underrepresented because the Yandex Music API did not expose metadata?
  • Which playlist overlaps should be merged, split or archived?
  • Which underrated tracks should be promoted into a rediscovery playlist?

Caveats And Assumptions

  • The project stores metadata, events and aggregates only; it does not download or store audio.
  • Yandex Music integration uses an unofficial Python client, so available fields can vary by account, region and library visibility.
  • This summary is not a full listening-history analysis unless the account/API returns timestamped history-like metadata.