xuansenpa1/skillrevise/contribution-analysis

Claude Code and agent skill by xuansenpa1/skillrevise

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Calculate the relative contribution of different factors to a response variable using R² decomposition. Use when you need to quantify how much each factor explains the variance of an outcome.

Install

npx vskill@latest install xuansenpa1/skillrevise/contribution-analysis

SKILL.md

The same SKILL.md was published earlier as benchflow-ai/skillsbench/contribution-analysis.

Contribution Analysis Guide

Overview

Contribution analysis quantifies how much each factor contributes to explaining the variance of a response variable. This skill focuses on R² decomposition method.

Complete Workflow

When you have multiple correlated variables that belong to different categories:

python
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from factor_analyzer import FactorAnalyzer
# Step 1: Combine ALL variables into one matrix
pca_vars = ['Var1', 'Var2', 'Var3', 'Var4', 'Var5', 'Var6', 'Var7', 'Var8']
X = df[pca_vars].values
y = df['ResponseVariable'].values
# Step 2: Standardize
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# Step 3: Run ONE global PCA on all variables together
fa = FactorAnalyzer(n_factors=4, rotation='varimax')
fa.fit(X_scaled)
scores = fa.transform(X_scaled)
# Step 4: R² decomposition on factor scores
def calc_r2(X, y):
model = LinearRegression()
model.fit(X, y)
y_pred = model.predict(X)
ss_res = np.sum((y - y_pred) ** 2)
ss_tot = np.sum((y - np.mean(y)) ** 2)
return 1 - (ss_res / ss_tot)
full_r2 = calc_r2(scores, y)
# Step 5: Calculate contribution of each factor
contrib_0 = full_r2 - calc_r2(scores[:, [1, 2, 3]], y)
contrib_1 = full_r2 - calc_r2(scores[:, [0, 2, 3]], y)
contrib_2 = full_r2 - calc_r2(scores[:, [0, 1, 3]], y)
contrib_3 = full_r2 - calc_r2(scores[:, [0, 1, 2]], y)

R² Decomposition Method

The contribution of each factor is calculated by comparing the full model R² with the R² when that factor is removed:

Contribution_i = R²_full - R²_without_i

Output Format

python
contributions = {
'Category1': contrib_0 * 100,
'Category2': contrib_1 * 100,
'Category3': contrib_2 * 100,
'Category4': contrib_3 * 100
}
dominant = max(contributions, key=contributions.get)
dominant_pct = round(contributions[dominant])
with open('output.csv', 'w') as f:
f.write('variable,contribution\n')
f.write(f'{dominant},{dominant_pct}\n')

Common Issues

IssueCauseSolution
Negative contributionSuppressor effectCheck for multicollinearity
Contributions don't sum to R²Normal behaviorR² decomposition is approximate
Very small contributionsFactor not importantMay be negligible driver

Best Practices

  • Run ONE global PCA on all variables together, not separate PCA per category
  • Use factor_analyzer with varimax rotation
  • Map factors to category names based on loadings interpretation
  • Report contribution as percentage
  • Identify the dominant (largest) factor

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
56
Repository forks
3
7-day trend score
25

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/xuansenpa1/skillrevise/contribution-analysis/badge)](https://verified-skill.com/skills/xuansenpa1/skillrevise/contribution-analysis)

Something wrong with this skill or its page? Tell us.