<a id="skfolio-attribution-familybreakdown"></a>

# skfolio.attribution.FamilyBreakdown

<a id="skfolio.attribution.FamilyBreakdown"></a>

### *class* skfolio.attribution.FamilyBreakdown(names, vol_contrib, pct_total_variance, mu_contrib, exposure, exposure_std, mu_contrib_uncertainty=None)

Family-level attribution breakdown.

Aggregates factor attribution by factor family.

For single-point attribution, arrays have shape `(n_families,)`. For rolling
attribution, arrays have shape `(n_windows, n_families)`.

* **Attributes:**
  **names** *ndarray of shape (n_families,)*
  : Family names. Always 1D.

  **exposure** *ndarray of shape (n_families,) or (n_windows, n_families)*
  : Sum of portfolio factor exposures within each family.

  **exposure_std** *ndarray or None*
  : Standard deviation of family exposures over time. `None` for predicted
    attribution.

  **vol_contrib** *ndarray of shape (n_families,) or (n_windows, n_families)*
  : Family volatility contribution, equal to the sum of its factor volatility
    contributions.

  **pct_total_variance** *ndarray of shape (n_families,) or (n_windows, n_families)*
  : Percentage of total portfolio variance.

  **mu_contrib** *ndarray of shape (n_families,) or (n_windows, n_families)*
  : Family return contribution, equal to the sum of its factor return contributions.

  **mu_contrib_uncertainty** *ndarray of shape (n_families,) or (n_windows, n_families) or None*
  : Standard error of the family mean return contribution, accounting for
    cross-factor estimation correlations within the family. `None` when uncertainty
    is not computed.

