PHPackages                             spryker/product-relation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. spryker/product-relation

ActiveLibrary

spryker/product-relation
========================

ProductRelation module

3.7.0(9mo ago)02.3M↓22%6proprietaryPHPPHP &gt;=8.2CI passing

Since Apr 4Pushed 6mo ago56 watchersCompare

[ Source](https://github.com/spryker/product-relation)[ Packagist](https://packagist.org/packages/spryker/product-relation)[ RSS](/packages/spryker-product-relation/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (22)Versions (61)Used By (6)

ProductRelation Module
======================

[](#productrelation-module)

[![Latest Stable Version](https://camo.githubusercontent.com/65467f37b417bb67ef90a75a508b1be68a7daece62357b78844058f1dcc71816/68747470733a2f2f706f7365722e707567782e6f72672f737072796b65722f70726f647563742d72656c6174696f6e2f762f737461626c652e737667)](https://packagist.org/packages/spryker/product-relation)[![Minimum PHP Version](https://camo.githubusercontent.com/9c50dc780fa576f5c39b4feff00c05345c1471be0808881a09e750b91220dc54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e332d3838393242462e737667)](https://php.net/)

ProductRelation is used to build relations between products. Relations can be automatically built using dynamic rules. Related products then can be used for example to display those in the cart or on product pages. Common uses for this feature are up-selling items and similar item recommendation.

Installation
------------

[](#installation)

```
composer require spryker/product-relation

```

Documentation
-------------

[](#documentation)

[Spryker Documentation](https://docs.spryker.com)

###  Health Score

59

—

FairBetter than 99% of packages

Maintenance62

Regular maintenance activity

Popularity39

Limited adoption so far

Community34

Small or concentrated contributor base

Maturity90

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~62 days

Recently: every ~214 days

Total

50

Last Release

287d ago

Major Versions

1.1.3 → 2.0.02017-12-20

2.4.2 → 3.0.02020-04-06

2.4.3 → 3.1.22021-02-05

PHP version history (6 changes)2.1.1PHP &gt;=7.1

2.4.0PHP &gt;=7.2

3.1.2PHP &gt;=7.3

3.3.0PHP &gt;=8.0

3.4.0PHP &gt;=8.1

3.7.0PHP &gt;=8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10738957?v=4)[Spryker Bot](/maintainers/spryker-bot)[@spryker-bot](https://github.com/spryker-bot)

---

Top Contributors

[![dereuromark](https://avatars.githubusercontent.com/u/39854?v=4)](https://github.com/dereuromark "dereuromark (115 commits)")[![kraal-spryker](https://avatars.githubusercontent.com/u/42177964?v=4)](https://github.com/kraal-spryker "kraal-spryker (77 commits)")[![stereomon](https://avatars.githubusercontent.com/u/1382877?v=4)](https://github.com/stereomon "stereomon (40 commits)")[![pushokwhite](https://avatars.githubusercontent.com/u/4017411?v=4)](https://github.com/pushokwhite "pushokwhite (14 commits)")[![ehsanmx](https://avatars.githubusercontent.com/u/7711957?v=4)](https://github.com/ehsanmx "ehsanmx (10 commits)")[![alexanderM91](https://avatars.githubusercontent.com/u/20976979?v=4)](https://github.com/alexanderM91 "alexanderM91 (10 commits)")[![AsonUnique](https://avatars.githubusercontent.com/u/20453760?v=4)](https://github.com/AsonUnique "AsonUnique (9 commits)")[![denis-gnusov](https://avatars.githubusercontent.com/u/53435720?v=4)](https://github.com/denis-gnusov "denis-gnusov (9 commits)")[![gerner-spryker](https://avatars.githubusercontent.com/u/30629375?v=4)](https://github.com/gerner-spryker "gerner-spryker (7 commits)")[![olhalivitchuk](https://avatars.githubusercontent.com/u/77281282?v=4)](https://github.com/olhalivitchuk "olhalivitchuk (6 commits)")[![andrew-maslov](https://avatars.githubusercontent.com/u/37797323?v=4)](https://github.com/andrew-maslov "andrew-maslov (6 commits)")[![limeeugenia](https://avatars.githubusercontent.com/u/25685017?v=4)](https://github.com/limeeugenia "limeeugenia (5 commits)")[![devromans](https://avatars.githubusercontent.com/u/6248395?v=4)](https://github.com/devromans "devromans (5 commits)")[![a-sabaa](https://avatars.githubusercontent.com/u/1667759?v=4)](https://github.com/a-sabaa "a-sabaa (5 commits)")[![vol4onok](https://avatars.githubusercontent.com/u/5063777?v=4)](https://github.com/vol4onok "vol4onok (4 commits)")[![gechetspr](https://avatars.githubusercontent.com/u/42143273?v=4)](https://github.com/gechetspr "gechetspr (4 commits)")[![tamasnyulas](https://avatars.githubusercontent.com/u/3429362?v=4)](https://github.com/tamasnyulas "tamasnyulas (4 commits)")[![dimitrymorozovspryker](https://avatars.githubusercontent.com/u/42741968?v=4)](https://github.com/dimitrymorozovspryker "dimitrymorozovspryker (3 commits)")[![devvent](https://avatars.githubusercontent.com/u/4672959?v=4)](https://github.com/devvent "devvent (3 commits)")[![geega](https://avatars.githubusercontent.com/u/1426310?v=4)](https://github.com/geega "geega (3 commits)")

### Embed Badge

![Health badge](/badges/spryker-product-relation/health.svg)

```
[![Health](https://phpackages.com/badges/spryker-product-relation/health.svg)](https://phpackages.com/packages/spryker-product-relation)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
