uberization-readiness について
オープンデータプラットフォームと業界の透明化に備える建設企業向けの評価スキルです。自己評価アンケート、競争上の脅威分析、変革ロードマップを提供します。
主な機能
- 01建設業界向け準備度評価フレームワーク
- 02自己評価アンケート
- 03競争上の脅威分析
- 04変革ロードマップ
- 05評価レポートの生成
活用シーン
- 01企業のデータ透明性を評価
- 02オープンデータプラットフォームの脅威を分析
- 03自動化とデータ変革を計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ datadrivenconstruction/ ddc_skills_for_ai_agents_in_construction --skill uberization-readinessインストール後、Claude Code で/uberization-readinessを入力して読み込まれたか確認します。
同梱ファイルclaw.jsoninstructions.md
詳細
Uber化への準備状況評価
概要
建設業界は、価格、品質、パフォーマンスの透明性をもたらすオープンデータプラットフォームによる変革に直面しています。適応できない企業は、市場から「Uber化」されるリスクがあります。
「従来のビジネスモデルは、不透明性の上に成り立つことが少なくありません……自動化とオープンデータが、劇的な透明性をもたらします。」— Artem Boiko
「建設会社の業務自動化に取り組むのは、2005年に空港のタクシー運転手向けのUberの模倣サービスを作ろうとするようなものです。」— Artem Boiko
建設業界のUber化とは?
┌─────────────────────────────────────────────────────────────────┐
│ TRADITIONAL vs UBERIZED CONSTRUCTION │
├─────────────────────────────────────────────────────────────────┤
│ │
│ TRADITIONAL MODEL UBERIZED MODEL │
│ ───────────────── ────────────── │
│ │
│ • Opaque pricing • Transparent rates │
│ • Relationship-based • Performance-based │
│ • Manual processes • Automated workflows │
│ • Information asymmetry • Open data access │
│ • Proprietary data • Shared databases │
│ • Slow decision making • Real-time analytics │
│ │
│ "Knowledge is power" "Data is shared" │
│ │
└─────────────────────────────────────────────────────────────────┘
準備状況評価フレームワーク
from dataclasses import dataclass
from enum import Enum
from typing import List, Dict
class ReadinessLevel(Enum):
VULNERABLE = 1 # High disruption risk
REACTIVE = 2 # Responding to change
ADAPTIVE = 3 # Actively transforming
LEADING = 4 # Driving change
@dataclass
class AssessmentDimension:
name: str
current_state: str
target_state: str
score: int # 1-10
actions: List[str]
def assess_uberization_readiness(company_data: dict) -> dict:
"""Assess company readiness for industry disruption"""
dimensions = []
# 1. Data Transparency
dimensions.append(AssessmentDimension(
name="Data Transparency",
current_state=company_data.get("pricing_model", "opaque"),
target_state="Transparent pricing with clear breakdowns",
score=rate_transparency(company_data),
actions=[
"Publish rate cards for standard work items",
"Use CWICR codes for consistent pricing",
"Provide detailed estimate breakdowns"
]
))
# 2. Process Automation
dimensions.append(AssessmentDimension(
name="Process Automation",
current_state=company_data.get("automation_level", "manual"),
target_state="Automated workflows with minimal manual intervention",
score=rate_automation(company_data),
actions=[
"Implement ETL pipelines for data processing",
"Automate daily reporting",
"Deploy AI for document processing"
]
))
# 3. Data Accessibility
dimensions.append(AssessmentDimension(
name="Data Accessibility",
current_state=company_data.get("data_access", "siloed"),
target_state="Real-time data access for all stakeholders",
score=rate_accessibility(company_data),
actions=[
"Deploy dashboards for clients",
"Provide API access to project data",
"Eliminate data silos"
]
))
# 4. Performance Metrics
dimensions.append(AssessmentDimension(
name="Performance Tracking",
current_state=company_data.get("kpi_tracking", "none"),
target_state="Real-time KPIs with historical benchmarks",
score=rate_performance(company_data),
actions=[
"Track cost variance per project",
"Measure schedule performance index",
"Monitor quality metrics"
]
))
# 5. Open Standards Adoption
dimensions.append(AssessmentDimension(
name="Open Standards",
current_state=company_data.get("standards", "proprietary"),
target_state="Full adoption of open data standards",
score=rate_standards(company_data),
actions=[
"Adopt IFC for BIM data exchange",
"Use CWICR for work item classification",
"Implement open APIs"
]
))
# Calculate overall readiness
total_score = sum(d.score for d in dimensions)
max_score = len(dimensions) * 10
readiness_pct = (total_score / max_score) * 100
if readiness_pct < 30:
level = ReadinessLevel.VULNERABLE
elif readiness_pct < 50:
level = ReadinessLevel.REACTIVE
elif readiness_pct < 75:
level = ReadinessLevel.ADAPTIVE
else:
level = ReadinessLevel.LEADING
return {
"dimensions": dimensions,
"total_score": total_score,
"max_score": max_score,
"readiness_percentage": readiness_pct,
"readiness_level": level.name,
"risk_assessment": generate_risk_assessment(level, dimensions)
}
自己評価アンケート
assessment_questions = [
# Data Transparency
{
"category": "Data Transparency",
"question": "How are your project estimates presented to clients?",
"options": {
"Lump sum only": 1,
"Cost categories without detail": 3,
"Line item detail": 6,
"Full transparency with unit rates": 10
}
},
{
"category": "Data Transparency",
"question": "Can clients access project data in real-time?",
"options": {
"No access": 1,
"Monthly reports": 3,
"Weekly reports": 5,
"Real-time dashboard": 10
}
},
# Process Automation
{
"category": "Process Automation",
"question": "How are daily reports generated?",
"options": {
"Manual writing": 1,
"Template filling": 3,
"Semi-automated": 6,
"Fully automated": 10
}
},
{
"category": "Process Automation",
"question": "How is estimate data created?",
"options": {
"Manual in Excel": 1,
"Estimating software": 4,
"BIM-linked QTO": 7,
"AI-assisted automation": 10
}
},
# Data Accessibility
{
"category": "Data Accessibility",
"question": "How is project data stored?",
"options": {
"Local files": 1,
"Shared drives": 3,
"Cloud platform": 6,
"Integrated database with API": 10
}
},
# Open Standards
{
"category": "Open Standards",
"question": "What work classification system do you use?",
"options": {
"Internal codes only": 1,
"CSI MasterFormat": 5,
"Open standard (CWICR, Uniclass)": 8,
"Multiple standards with mapping": 10
}
}
]
競争上の脅威分析
def analyze_competitive_threats(market_data: dict) -> dict:
"""Analyze threats from open data platforms"""
threats = []
# Threat 1: Price transparency platforms
if market_data.get("price_platforms_active"):
threats.append({
"threat": "Price Comparison Platforms",
"description": "Platforms like OpenEstimate allow clients to compare contractor rates",
"impact": "HIGH",
"response": "Compete on value and transparency, not information asymmetry"
})
# Threat 2: Performance rating systems
threats.append({
"threat": "Performance Ratings",
"description": "Public contractor ratings based on cost, schedule, quality",
"impact": "MEDIUM",
"response": "Proactively track and publish your own performance metrics"
})
# Threat 3: AI estimation tools
threats.append({
"threat": "AI Estimation",
"description": "Clients can generate estimates without contractors",
"impact": "HIGH",
"response": "Add value beyond estimation: execution expertise, risk management"
})
# Threat 4: Direct material sourcing
threats.append({
"threat": "Material Marketplaces",
"description": "Open material pricing eliminates markup opacity",
"impact": "MEDIUM",
"response": "Provide transparent cost-plus pricing"
})
return {
"threats": threats,
"overall_risk": calculate_overall_risk(threats),
"time_to_impact": "3-5 years",
"recommended_actions": generate_action_plan(threats)
}
変革ロードマップ
Year 1: Foundation
├── Adopt open work classification (CWICR)
├── Implement data centralization
├── Deploy basic automation (daily reports)
└── Start tracking KPIs
Year 2: Automation
├── Deploy AI document processing
├── Automate estimation workflows
├── Build client dashboards
└── Integrate systems (BIM → ERP → PM)
Year 3: Transparency
├── Publish performance metrics
├── Provide real-time project access
├── Open API for integrations
└── Transparent pricing models
Year 4+: Leadership
├── Contribute to open data initiatives
├── Build platform capabilities
├── Lead industry transformation
└── Monetize data insights
出力レポート
def generate_readiness_report(assessment: dict) -> str:
"""Generate executive summary report"""
report = f"""
# Uberization Readiness Report
## Overall Assessment
- **Readiness Level:** {assessment['readiness_level']}
- **Score:** {assessment['total_score']}/{assessment['max_score']} ({assessment['readiness_percentage']:.0f}%)
## Risk Assessment
{assessment['risk_assessment']}
## Dimension Scores
| Dimension | Score | Status |
|-----------|-------|--------|
"""
for dim in assessment['dimensions']:
status = "🟢" if dim.score >= 7 else "🟡" if dim.score >= 4 else "🔴"
report += f"| {dim.name} | {dim.score}/10 | {status} |\n"
report += """
## Recommended Actions
### Immediate (0-6 months)
"""
for dim in assessment['dimensions']:
if dim.score < 5:
report += f"\n**{dim.name}:**\n"
for action in dim.actions[:2]:
report += f"- {action}\n"
return report
リソース
- CWICRデータベース:https://openconstructionestimate.com
- オープンBIM標準:https://www.buildingsmart.org
- DDC書籍 第5章:脅威と戦略
コメント
Markdown 対応