{
  "title": "How Recommendations Work",
  "author": "Pavel Kordík, Eva Nečasová and the Recombee team",
  "version": "1.0",
  "chapters": [
    {
      "id": "ch01-introduction",
      "number": 1,
      "title": "Introduction",
      "subtitle": "What recommender systems are and why they matter",
      "directory": "ch01-introduction",
      "files": [
        "01-spine-have-you-noticed.md",
        "01x-sidebar-comic-everyday-recommendations.md",
        "02-spine-recommendations-everywhere.md",
        "02x-sidebar-comic-ubiquity.md",
        "03-spine-not-magic.md",
        "03x-sidebar-comic-patterns-not-magic.md",
        "03a-sidebar-wrong-recs.md",
        "03b-depth-thinker-patterns.md",
        "03c-sidebar-history.md",
        "04-spine-three-jobs.md",
        "04x-sidebar-comic-three-jobs.md",
        "04b-sidebar-would-you-rather.md",
        "04c-sidebar-personalization-spectrum.md",
        "05-question-what-type.md",
        "05a-game-which-job.md",
        "05a-spine-modern-recommender-map.md",
        "05b-sidebar-modern-recommender-map-tldr.md",
        "05c-depth-modern-recommender-map-stack.md",
        "06-spine-worksheet-match-apps.md",
        "06x-sidebar-comic-distribution-models.md",
        "99-sidebar-about-this-book.md"
      ]
    },
    {
      "id": "ch02-data",
      "number": 2,
      "title": "Data",
      "subtitle": "The signals users leave behind and how to collect them",
      "directory": "ch02-data",
      "files": [
        "01-spine-digital-footprints.md",
        "01x-sidebar-comic-digital-footprints.md",
        "01a-depth-explorer-what-they-track.md",
        "01b-sidebar-guess-the-signal.md",
        "01c-game-signal-sort.md",
        "01d-depth-thinker-interactions.md",
        "01e-depth-thinker-implicit-feedback.md",
        "01g-spine-data-foundation.md",
        "01gx-sidebar-comic-data-pillars.md",
        "04a-sidebar-data-quality.md",
        "05v-sidebar-feature-engineering.md",
        "02-spine-three-types-of-clues.md",
        "02x-sidebar-comic-feedback-signals.md",
        "02g-sidebar-signals-feed-tldr.md",
        "02a-sidebar-incognito.md",
        "02d-sidebar-negative-signals.md",
        "02e-depth-thinker-rating-quality.md",
        "02f-sidebar-visibility-bias.md",
        "03-spine-your-data-your-choice.md",
        "03x-sidebar-comic-data-control.md",
        "03c-sidebar-data-ownership.md",
        "04-spine-worksheet-data-detective.md",
        "04x-sidebar-comic-algorithm-training.md",
        "03b-depth-creator-experiment.md",
        "02b-sidebar-myth-buster.md",
        "05-spine-item-cold-start.md",
        "05a-sidebar-cold-start-tldr.md",
        "05b-depth-cold-start-formal.md",
        "05c-sidebar-cold-start-visual.md",
        "05d-sidebar-cold-start-comic.md",
        "05e-sidebar-cold-start-anim-shop.md",
        "05f-sidebar-cold-start-anim-media.md",
        "05g-sidebar-cold-start-anim-jobs.md",
        "05h-sidebar-cold-start-ecommerce.md",
        "05i-sidebar-cold-start-media.md",
        "05j-sidebar-cold-start-jobs.md",
        "05k-sidebar-cold-start-long.md",
        "05l-sidebar-cold-start-cs.md",
        "05m-sidebar-cold-start-cs-shop.md",
        "05h-sidebar-cold-start-solutions.md",
        "05n-game-item-cold-start.md",
        "07-spine-user-cold-start.md",
        "07a-sidebar-user-cold-start-tldr.md",
        "07b-depth-user-cold-start-mechanics.md",
        "02c-game-cold-start.md",
        "01f-sidebar-user-lifecycle.md"
      ]
    },
    {
      "id": "ch03-objectives",
      "number": 3,
      "title": "Objectives",
      "subtitle": "What to optimize for and the trade-offs involved",
      "directory": "ch03-objectives",
      "files": [
        "02c-spine-objectives.md",
        "02cx-sidebar-comic-objectives.md",
        "02c1-depth-thinker-multi-objective.md",
        "04-question-ethics.md",
        "02c2-game-tune-the-feed.md",
        "02-spine-fairness.md",
        "02x-sidebar-comic-fairness.md",
        "02b-sidebar-unfair-game.md",
        "02e2-game-rich-get-richer.md",
        "02f-spine-long-tail.md",
        "02fx-sidebar-comic-long-tail.md",
        "02f1-sidebar-long-tail-media-tldr.md",
        "02h-spine-satisfaction-vs-engagement.md",
        "02hx-sidebar-comic-satisfaction-vs-engagement.md",
        "02g-sidebar-user-fatigue.md",
        "02i-sidebar-trust-calibration.md",
        "02j-sidebar-reward-design.md",
        "02l-sidebar-spotify-paradox.md",
        "02t-sidebar-autoplay-problem.md",
        "02l1-game-metric-mirage.md",
        "02m-spine-north-star-and-guardrails.md",
        "02m1-sidebar-north-star-and-guardrails-tldr.md",
        "02m2-depth-north-star-and-guardrails-formal.md"
      ]
    },
    {
      "id": "ch04-scenarios",
      "number": 4,
      "title": "Scenarios",
      "subtitle": "Where recommendations appear and how to design for each context",
      "directory": "ch04-scenarios",
      "files": [
        "01-spine-what-are-scenarios.md",
        "01x-sidebar-comic-scenarios.md",
        "02-sidebar-scenario-canvas.md",
        "05y-sidebar-recommendation-scenarios.md",
        "05z-sidebar-composite-recommendations.md",
        "05z1-game-pick-the-scenario.md",
        "02j-spine-context-aware.md",
        "02jx-sidebar-comic-context-awareness.md",
        "02s-sidebar-geographic-recs.md",
        "02n-spine-personalization-levels.md",
        "02na-sidebar-personalization-levels-tldr.md",
        "02p-spine-recommendation-presentation.md",
        "02pa-sidebar-recommendation-presentation-tldr.md",
        "04d-spine-search-and-recs.md",
        "04dx-sidebar-comic-search-vs-recs.md",
        "04f-depth-thinker-search-recs-convergence.md"
      ]
    },
    {
      "id": "ch05-algorithms",
      "number": 5,
      "title": "Algorithms",
      "subtitle": "From collaborative filtering to transformers and LLMs",
      "directory": "ch05-algorithms",
      "files": [
        "01-spine-ask-your-friends.md",
        "01x-sidebar-comic-collaborative-filtering.md",
        "01g-sidebar-cf-jobs.md",
        "01h-sidebar-cf-cs-tldr.md",
        "01a-depth-explorer-cf-demo.md",
        "01b-depth-creator-build-cf.md",
        "01c-sidebar-netflix-story.md",
        "01d-sidebar-cf-limitations.md",
        "01e-game-taste-match.md",
        "02-spine-look-at-the-thing.md",
        "02x-sidebar-comic-content-based.md",
        "02a-depth-thinker-compare.md",
        "02b-sidebar-spot-the-method.md",
        "02c-game-method-match.md",
        "02l-sidebar-hybrid-patterns.md",
        "02d-spine-bandits.md",
        "02dx-sidebar-comic-explore-exploit.md",
        "02d1-sidebar-bandits-radio-story.md",
        "02d1-sidebar-bandits-intuition.md",
        "02o-depth-thinker-rl-recsys.md",
        "02d2-game-bandit-headlines.md",
        "02e-spine-deep-similarity.md",
        "02ex-sidebar-comic-embeddings.md",
        "02e1-sidebar-embeddings-education.md",
        "02e1-sidebar-embeddings-intuition.md",
        "05l-sidebar-embedding-visualization.md",
        "02f-depth-explorer-two-tower.md",
        "02f1-depth-thinker-two-tower-math.md",
        "02q-sidebar-negative-sampling-strategies.md",
        "02r-sidebar-item-embeddings-production.md",
        "02g-depth-thinker-matrix-factorization.md",
        "02g1-depth-thinker-als-deep.md",
        "02k-depth-thinker-feature-interactions.md",
        "02h-depth-thinker-attention.md",
        "02i-spine-graph-methods.md",
        "02ix-sidebar-comic-graph-methods.md",
        "02p-sidebar-social-recommendation.md",
        "02n-spine-multimodal.md",
        "02nx-sidebar-comic-multimodal.md",
        "02n1-depth-thinker-embedding-alignment.md",
        "03-spine-whats-popular.md",
        "03x-sidebar-comic-popularity.md",
        "03a-sidebar-popularity-trap.md",
        "03b-sidebar-freshness.md",
        "04-spine-the-pipeline.md",
        "04x-sidebar-comic-pipeline.md",
        "04a-depth-explorer-pipeline-visual.md",
        "04a1-depth-thinker-learning-to-rank.md",
        "04b-sidebar-speed-challenge.md",
        "04b1-sidebar-slate-optimization.md",
        "04c-game-pipeline.md",
        "04d-spine-multi-task-ranking.md",
        "04da-sidebar-multi-task-ranking-tldr.md",
        "05-question-method.md"
      ]
    },
    {
      "id": "ch05m-modern-recommenders",
      "number": 6,
      "title": "Modern Recommenders",
      "subtitle": "Sequence models, generative retrieval, LLMs and agents — what changed and what it means for your product",
      "directory": "ch05m-modern-recommenders",
      "files": [
        "01-spine-sequential-recommendation.md",
        "01a-sidebar-sequential-recommendation-tldr.md",
        "01b-depth-sequential-recommendation-practice.md",
        "02h1-depth-thinker-attention-deep.md",
        "07c-sidebar-realm-details.md",
        "02m-spine-session-based.md",
        "02mx-sidebar-comic-session-based.md",
        "02-spine-generative-recommendation.md",
        "02a-sidebar-generative-recommendation-tldr.md",
        "02b-depth-generative-recommendation-mechanism.md",
        "03-spine-recsys-foundation-models.md",
        "03a-sidebar-recsys-foundation-models-tldr.md",
        "03b-depth-recsys-foundation-models-inside.md",
        "04-spine-llm-recommenders.md",
        "04e-depth-llm-recommendations-three-architectures.md",
        "04a-sidebar-llm-recommenders-tldr.md",
        "04b-depth-llm-recommenders-four-jobs.md",
        "04ex-sidebar-comic-llm-recommenders.md",
        "04g-sidebar-retrieval-augmented.md",
        "04c-sidebar-conversational-recs.md",
        "04cx-sidebar-comic-conversational-recs.md",
        "06-spine-agentic-recommendation.md",
        "06a-sidebar-agentic-recommendation-tldr.md",
        "06b-depth-agentic-recommendation-practitioner.md"
      ]
    },
    {
      "id": "ch06-evaluation",
      "number": 7,
      "title": "Evaluation",
      "subtitle": "How to measure whether your recommendations actually work",
      "directory": "ch06-evaluation",
      "files": [
        "03-spine-testing.md",
        "03x-sidebar-comic-ab-testing.md",
        "03d-sidebar-abtest-shop-example.md",
        "03a-depth-explorer-ab-test.md",
        "03b-game-ab-test.md",
        "03c-depth-thinker-online-offline.md",
        "03d-depth-thinker-counterfactual.md",
        "03e-sidebar-interleaving.md",
        "05u-sidebar-ab-testing-pitfalls.md",
        "03f-game-ship-it.md",
        "03f-spine-incrementality.md",
        "03fa-sidebar-incrementality-tldr.md",
        "03fb-depth-incrementality-holdouts.md",
        "01-spine-filter-bubbles.md",
        "01x-sidebar-comic-filter-bubbles.md",
        "01f-sidebar-bubble-social-story.md",
        "01a-depth-thinker-echo-chamber.md",
        "01e-depth-thinker-bias-types.md",
        "01f-sidebar-polarization-research.md",
        "02e1-depth-thinker-diversity-metrics.md",
        "01c-sidebar-experiment-idea.md",
        "01d-game-bubble-pop.md",
        "06-spine-measuring-what-matters.md",
        "06x-sidebar-comic-evaluation-metrics.md",
        "06a-depth-thinker-evaluation-math.md",
        "06b-sidebar-repsys.md",
        "05f-sidebar-benchmarks.md",
        "07-spine-llm-judge-evaluation.md",
        "07a-sidebar-llm-judge-tldr.md",
        "07b-depth-llm-judge-calibration.md"
      ]
    },
    {
      "id": "ch07-explainability",
      "number": 8,
      "title": "Explainability & Insights",
      "subtitle": "Making recommendations transparent and trustworthy",
      "directory": "ch07-explainability",
      "files": [
        "01-spine-why-explainability.md",
        "01x-sidebar-comic-why-explain.md",
        "02d-spine-explainability.md",
        "02dx-sidebar-comic-explanations.md",
        "02d1-sidebar-explanation-ux.md",
        "03-spine-technical-approaches.md",
        "03x-sidebar-comic-explanation-methods.md",
        "04-sidebar-transparency-spectrum.md",
        "02e-spine-steerable-recs.md",
        "02ex-sidebar-comic-steerability.md",
        "05-question-explain.md"
      ]
    },
    {
      "id": "ch08-deployment",
      "number": 9,
      "title": "Deployment & Scale",
      "subtitle": "From prototype to production at billion-item scale",
      "directory": "ch08-deployment",
      "files": [
        "05x-spine-build-vs-buy.md",
        "05xx-sidebar-comic-build-vs-buy.md",
        "01a-sidebar-tech-stack.md",
        "05o-sidebar-scale-differences.md",
        "05j-sidebar-open-source-tools.md",
        "05y-spine-launch-playbook.md",
        "05ya-sidebar-launch-playbook-tldr.md",
        "05p-spine-real-time-signals.md",
        "05pa-sidebar-real-time-signals-tldr.md",
        "05q-sidebar-realtime-personalization.md",
        "07-spine-production-at-scale.md",
        "07x-sidebar-comic-production-scale.md",
        "05n-sidebar-caching.md",
        "07a-sidebar-sparse-representations.md",
        "07b-sidebar-knowledge-distillation.md"
      ]
    },
    {
      "id": "ch09-monitoring",
      "number": 10,
      "title": "Maintenance & Monitoring",
      "subtitle": "Keeping your recommender healthy in production",
      "directory": "ch09-monitoring",
      "files": [
        "01-spine-why-monitoring.md",
        "01x-sidebar-comic-monitoring.md",
        "02-sidebar-drift-detection.md",
        "05g-sidebar-monitoring.md",
        "05r-sidebar-observability.md",
        "05m-sidebar-continual-learning.md",
        "05w-sidebar-data-flywheel.md",
        "06-sidebar-incident-response.md",
        "06a-game-silent-failures.md"
      ]
    },
    {
      "id": "ch10-customization",
      "number": 11,
      "title": "Customization & Business Rules",
      "subtitle": "Adapting recommendations to business needs",
      "directory": "ch10-customization",
      "files": [
        "06a-sidebar-business-rules.md",
        "99x-sidebar-comic-business-rules.md",
        "05e-sidebar-anti-patterns.md",
        "05i-sidebar-model-selection.md",
        "99y-game-rule-or-model.md"
      ]
    },
    {
      "id": "ch11-ethics",
      "number": 12,
      "title": "Ethics & Responsibility",
      "subtitle": "Who decides what you see, and what can you do about it",
      "directory": "ch11-ethics",
      "files": [
        "01-spine-who-decides.md",
        "01x-sidebar-comic-who-decides.md",
        "02a-sidebar-youtube-algorithm.md",
        "01b-sidebar-rabbit-hole.md",
        "01c-sidebar-attention-economy.md",
        "02-spine-addictive-design.md",
        "02x-sidebar-comic-addictive-design.md",
        "02a-depth-creator-take-control.md",
        "02b-sidebar-dopamine.md",
        "02e-sidebar-dark-patterns.md",
        "02f-spine-supply-side-dynamics.md",
        "02fa-sidebar-supply-side-dynamics-tldr.md",
        "02d-sidebar-creator-economy.md",
        "02c-spine-adtech-vs-recs.md",
        "02cx-sidebar-comic-ads-vs-recs.md",
        "03-spine-privacy-for-real.md",
        "03x-sidebar-comic-privacy-reality.md",
        "03a-depth-explorer-check-your-data.md",
        "03b-sidebar-age-guessing.md",
        "03d-game-privacy-spotter.md",
        "03f-depth-thinker-privacy-preserving.md",
        "03g-spine-recommender-regulation.md",
        "03ga-sidebar-recommender-regulation-tldr.md",
        "03h-spine-harm-aware-ranking.md",
        "03ha-sidebar-harm-aware-ranking-tldr.md",
        "03e-sidebar-content-safety.md",
        "04-spine-ai-and-you.md",
        "04x-sidebar-comic-ai-future.md",
        "04a-depth-thinker-hard-questions.md",
        "04b-sidebar-eu-law.md",
        "02k-sidebar-algorithmic-accountability.md",
        "04d-sidebar-ethics-checklist.md",
        "04e-sidebar-global-perspectives.md",
        "05-question-ethics.md"
      ]
    },
    {
      "id": "ch12-domains",
      "number": 13,
      "title": "Domains",
      "subtitle": "How recommendations work differently across industries",
      "directory": "ch12-domains",
      "files": [
        "01-spine-why-domains-matter.md",
        "01x-sidebar-comic-domain-differences.md",
        "02-spine-video-streaming.md",
        "02x-sidebar-comic-video-domain.md",
        "02a-sidebar-video-recipes.md",
        "03-spine-ecommerce.md",
        "03x-sidebar-comic-ecommerce-domain.md",
        "03a-sidebar-ecommerce-recipes.md",
        "05s-sidebar-ecommerce-recs.md",
        "04-spine-news-media.md",
        "04x-sidebar-comic-news-domain.md",
        "04a-sidebar-news-recipes.md",
        "05p-sidebar-news-recs.md",
        "05-spine-music-podcasts.md",
        "05x-sidebar-comic-music-domain.md",
        "06-spine-sports-live.md",
        "06x-sidebar-comic-sports-domain.md",
        "07-spine-marketplaces.md",
        "07x-sidebar-comic-marketplace-domain.md",
        "05k-sidebar-marketplace-recs.md",
        "08-spine-deals.md",
        "08x-sidebar-comic-deals-domain.md",
        "09-spine-real-estate.md",
        "09x-sidebar-comic-real-estate-domain.md",
        "10-spine-travel-jobs-edu.md",
        "10x-sidebar-comic-specialized-domains.md",
        "05t-sidebar-education-recs.md",
        "11-question-domain.md"
      ]
    },
    {
      "id": "ch13-research",
      "number": 14,
      "title": "Research & Progress",
      "subtitle": "How mathematical research drives recommender system evolution",
      "directory": "ch13-research",
      "files": [
        "01-spine-why-research-matters.md",
        "01x-sidebar-comic-why-research.md",
        "02-spine-from-simple-to-scalable.md",
        "02x-sidebar-comic-ease-elsa.md",
        "02a-depth-thinker-ease-math.md",
        "05a-depth-thinker-regularization.md",
        "03-spine-combining-linear-and-deep.md",
        "03x-sidebar-comic-vasp.md",
        "03a-sidebar-vasp-ablation.md",
        "04-spine-exploration-bandits.md",
        "04x-sidebar-comic-bandits-in-practice.md",
        "04a-depth-thinker-thompson-math.md",
        "04b-depth-thinker-causal-bandits.md",
        "05-spine-cold-start-language.md",
        "05x-sidebar-comic-beeformer.md",
        "05b-sidebar-transfer-learning.md",
        "05c-spine-knobs-steering.md",
        "05cx-sidebar-comic-steering-knobs.md",
        "08-spine-research-roadmap.md",
        "08x-sidebar-comic-research-roadmap.md",
        "08a-sidebar-emerging-directions.md",
        "09-question-research.md",
        "10-spine-glossary.md",
        "10x-sidebar-comic-glossary.md"
      ]
    },
    {
      "id": "ch14-build",
      "number": 15,
      "title": "Build Your Own",
      "subtitle": "Create a recommendation system step by step",
      "directory": "ch14-build",
      "files": [
        "01-spine-you-can-do-it.md",
        "01x-sidebar-comic-diy-start.md",
        "02-spine-step1-collect.md",
        "02x-sidebar-comic-diy-collect-data.md",
        "02a-depth-creator-spreadsheet.md",
        "03b-sidebar-real-numbers.md",
        "03-spine-step2-find-similar.md",
        "03x-sidebar-comic-diy-similar-users.md",
        "03a-depth-thinker-math.md",
        "03c-depth-thinker-formulas.md",
        "04-spine-step3-recommend.md",
        "04x-sidebar-comic-diy-predict.md",
        "04a-depth-creator-code.md",
        "04b-sidebar-debug-challenge.md",
        "05-spine-step4-improve.md",
        "05x-sidebar-comic-diy-improve.md",
        "05a-sidebar-career.md",
        "05b-spine-get-recommended.md",
        "05bx-sidebar-comic-creator-visibility.md",
        "05c-spine-seo-for-algorithms.md",
        "05cx-sidebar-comic-algorithmic-seo.md",
        "05c2-spine-ai-assistant-visibility.md",
        "05c2a-sidebar-ai-assistant-visibility-tldr.md",
        "05d-spine-case-studies.md",
        "05dx-sidebar-comic-case-studies.md",
        "06-question-next.md"
      ]
    }
  ]
}
