Executive Code: Economic Condition Analysis for all Developed Nations

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Claude-Integrated Economic Risk Assessment</title>

<style>

* {

margin: 0;

padding: 0;

box-sizing: border-box;

}

body {

font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);

min-height: 100vh;

padding: 20px;

}

.container {

max-width: 1400px;

margin: 0 auto;

background: white;

border-radius: 20px;

box-shadow: 0 20px 60px rgba(0,0,0,0.3);

padding: 30px;

}

h1 {

color: #2d3436;

text-align: center;

margin-bottom: 10px;

font-size: 2.5em;

}

.subtitle {

text-align: center;

color: #636e72;

margin-bottom: 30px;

font-size: 1.1em;

}

.claude-integration {

background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);

border-left: 4px solid #1976d2;

padding: 20px;

margin-bottom: 30px;

border-radius: 8px;

}

.claude-integration h3 {

color: #1565c0;

margin-bottom: 15px;

}

.claude-integration p {

color: #424242;

line-height: 1.6;

margin-bottom: 10px;

}

.claude-integration code {

background: #fff;

padding: 2px 6px;

border-radius: 3px;

font-family: 'Courier New', monospace;

color: #d32f2f;

}

.data-sources {

background: #f5f5f5;

border-radius: 8px;

padding: 20px;

margin-bottom: 30px;

}

.data-sources h3 {

color: #424242;

margin-bottom: 15px;

}

.source-grid {

display: grid;

grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

gap: 15px;

}

.source-item {

background: white;

padding: 12px;

border-radius: 6px;

border-left: 3px solid #4caf50;

}

.source-item strong {

color: #2e7d32;

display: block;

margin-bottom: 5px;

}

.source-item span {

color: #616161;

font-size: 0.9em;

}

.quick-load {

background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);

border-radius: 8px;

padding: 20px;

margin-bottom: 30px;

}

.quick-load h3 {

color: #e65100;

margin-bottom: 15px;

}

.scenario-buttons {

display: grid;

grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

gap: 10px;

margin-top: 15px;

}

.scenario-btn {

background: white;

border: 2px solid #ff9800;

padding: 12px;

border-radius: 6px;

cursor: pointer;

transition: all 0.3s;

text-align: center;

font-weight: 500;

color: #e65100;

}

.scenario-btn:hover {

background: #ff9800;

color: white;

}

.results-container {

margin-top: 40px;

}

.probability-cards {

display: grid;

grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

gap: 20px;

margin-bottom: 30px;

}

.probability-card {

background: white;

border-radius: 15px;

padding: 25px;

box-shadow: 0 5px 20px rgba(0,0,0,0.1);

text-align: center;

position: relative;

overflow: hidden;

}

.probability-card::before {

content: '';

position: absolute;

top: 0;

left: 0;

right: 0;

height: 5px;

}

.recession-card::before {

background: linear-gradient(90deg, #f39c12, #e74c3c);

}

.depression-card::before {

background: linear-gradient(90deg, #c0392b, #8e44ad);

}

.stagflation-card::before {

background: linear-gradient(90deg, #e67e22, #d35400);

}

.probability-label {

font-size: 1.2em;

color: #495057;

margin-bottom: 10px;

font-weight: 600;

}

.probability-value {

font-size: 3em;

font-weight: bold;

margin-bottom: 10px;

}

.risk-level {

display: inline-block;

padding: 5px 15px;

border-radius: 20px;

font-size: 0.9em;

font-weight: 600;

text-transform: uppercase;

margin-bottom: 15px;

}

.risk-low { background: #d4edda; color: #155724; }

.risk-moderate { background: #fff3cd; color: #856404; }

.risk-high { background: #f8d7da; color: #721c24; }

.risk-very-high { background: #d1ecf1; color: #0c5460; }

.historical-comparisons {

background: linear-gradient(135deg, #fff8e1 0%, #ffe0b2 100%);

border-left: 4px solid #ff9800;

border-radius: 10px;

padding: 20px;

margin-bottom: 30px;

}

.crisis-comparison {

background: white;

border-radius: 10px;

padding: 20px;

margin-bottom: 20px;

box-shadow: 0 2px 10px rgba(0,0,0,0.1);

}

.crisis-header {

display: flex;

justify-content: space-between;

align-items: center;

margin-bottom: 15px;

}

.similarity-badge {

background: #ff9800;

color: white;

padding: 5px 15px;

border-radius: 20px;

font-weight: 600;

}

</style>

</head>

<body>

<div class="container">

<h1>🔮 Economic Risk Assessment Tool</h1>

<p class="subtitle">Powered by Claude AI Research & Analysis</p>

<div class="claude-integration">

<h3>🤖 How to Use with Claude</h3>

<p><strong>Simply ask Claude:</strong></p>

<p>"Assess economic conditions for [Country Name]"</p>

<p>Claude will research current economic data and provide a pre-configured analysis. Example queries:</p>

<ul style="margin-left: 20px; margin-top: 10px;">

<li>"Assess economic conditions for Germany"</li>

<li>"What's the recession risk for the United Kingdom?"</li>

<li>"Analyze Japan's economic outlook"</li>

<li>"Compare economic risks between France and Italy"</li>

</ul>

</div>

<div class="data-sources">

<h3>📊 Claude's Data Sources</h3>

<p style="color: #616161; margin-bottom: 15px;">Claude gathers data from these reliable sources:</p>

<div class="source-grid">

<div class="source-item">

<strong>FRED</strong>

<span>US Federal Reserve Economic Data</span>

</div>

<div class="source-item">

<strong>OECD</strong>

<span>International Economic Indicators</span>

</div>

<div class="source-item">

<strong>World Bank</strong>

<span>Global Development Data</span>

</div>

<div class="source-item">

<strong>IMF</strong>

<span>Global Economic Outlook</span>

</div>

<div class="source-item">

<strong>National Statistics</strong>

<span>BLS, ONS, Eurostat, etc.</span>

</div>

<div class="source-item">

<strong>Central Banks</strong>

<span>Fed, ECB, BoE Data</span>

</div>

<div class="source-item">

<strong>S&P Global</strong>

<span>PMI & Market Data</span>

</div>

<div class="source-item">

<strong>Conference Board</strong>

<span>Leading Indicators</span>

</div>

</div>

</div>

<div class="quick-load">

<h3>⚡ Quick Analysis Scenarios</h3>

<p style="color: #616161; margin-bottom: 10px;">Load pre-configured scenarios to explore the tool:</p>

<div class="scenario-buttons">

<button class="scenario-btn" onclick="loadScenario('stable')">Stable Economy</button>

<button class="scenario-btn" onclick="loadScenario('early_warning')">Early Warning Signs</button>

<button class="scenario-btn" onclick="loadScenario('recession')">Recession Conditions</button>

<button class="scenario-btn" onclick="loadScenario('stagflation')">Stagflation Risk</button>

<button class="scenario-btn" onclick="loadScenario('crisis')">Financial Crisis</button>

</div>

</div>

<div id="results" class="results-container"></div>

</div>

<script>

// Historical Crisis Database

const HISTORICAL_CRISES = {

greatDepression: {

name: "Great Depression (1929-1939)",

period: "1929-1939",

indicators: { unemployment: 25.0, gdp_growth: -26.5, stock_decline: -89, inflation: -10.0, credit_spread: 800, manufacturing_pmi: 35, consumer_confidence: 25 },

description: "The worst economic downturn in modern history. Began with the stock market crash of October 1929 and lasted throughout the 1930s.",

lessons: "Demonstrated the importance of deposit insurance, monetary policy response, and fiscal intervention."

},

oilCrisis1973: {

name: "1973 Oil Crisis & Stagflation",

period: "1973-1975",

indicators: { unemployment: 9.0, gdp_growth: -3.2, inflation: 12.3, oil_price_change: 300, manufacturing_pmi: 42, productivity: -1.0, wage_growth: 8.0 },

description: "Arab oil embargo led to quadrupling of oil prices, triggering stagflation.",

lessons: "Revealed vulnerabilities to supply shocks and limits of traditional Keynesian policy."

},

financialCrisis2008: {

name: "Great Financial Crisis (2008-2009)",

period: "2008-2009",

indicators: { unemployment: 10.0, gdp_growth: -4.3, stock_decline: -57, credit_spread: 650, banking_stress: 9.5, housing_starts: -75, consumer_confidence: 25 },

description: "Subprime mortgage collapse triggered global financial system meltdown.",

lessons: "Interconnected financial system can amplify shocks globally. Systemic risk requires systemic response."

}

};

const SCENARIOS = {

stable: {

name: "Stable Economy (Low Risk)",

data: {

unemployment: 3.5, unemployment_change: -0.1, gdp_growth: 3.0, manufacturing_pmi: 52,

inflation: 2.2, consumer_confidence: 105, yield_10y: 4.0, yield_3m: 3.5,

credit_spread: 120, productivity: 2.5, oil_price_change: 5

}

},

early_warning: {

name: "Early Warning Signs (Moderate Risk)",

data: {

unemployment: 4.2, unemployment_change: 0.3, gdp_growth: 1.5, manufacturing_pmi: 48,

inflation: 3.8, consumer_confidence: 85, yield_10y: 3.8, yield_3m: 4.2,

credit_spread: 180, productivity: 1.2, oil_price_change: 20

}

},

recession: {

name: "Recession Conditions (High Risk)",

data: {

unemployment: 6.5, unemployment_change: 0.8, gdp_growth: -1.5, manufacturing_pmi: 42,

inflation: 2.5, consumer_confidence: 68, yield_10y: 3.5, yield_3m: 4.5,

credit_spread: 280, productivity: 0.5, oil_price_change: 15

}

},

stagflation: {

name: "Stagflation Risk (High Inflation + Weak Growth)",

data: {

unemployment: 7.0, unemployment_change: 0.4, gdp_growth: 0.5, manufacturing_pmi: 45,

inflation: 8.5, consumer_confidence: 72, yield_10y: 5.0, yield_3m: 5.5,

credit_spread: 200, productivity: 0.2, oil_price_change: 65, wage_growth: 6.0

}

},

crisis: {

name: "Financial Crisis (Severe Risk)",

data: {

unemployment: 9.5, unemployment_change: 1.2, gdp_growth: -3.5, manufacturing_pmi: 38,

inflation: 1.5, consumer_confidence: 45, yield_10y: 3.0, yield_3m: 4.0,

credit_spread: 450, productivity: -0.5, oil_price_change: -20, banking_stress: 7.5

}

}

};

function loadScenario(scenarioKey) {

const scenario = SCENARIOS[scenarioKey];

const inputs = scenario.data;

const models = calculateModelSignals(inputs);

const recessionProb = calculateRecessionProbability(inputs, models);

const depressionProb = calculateDepressionProbability(inputs, models, recessionProb);

const stagflationProb = calculateStagflationProbability(inputs, models);

const comparisons = compareToHistoricalCrises(inputs);

displayResults(scenario.name, recessionProb, depressionProb, stagflationProb, models, comparisons);

}

function calculateModelSignals(inputs) {

const models = {};

models.sahm = {

name: 'Sahm Rule',

triggered: (inputs.unemployment_change || 0) >= 0.5,

signal: (inputs.unemployment_change || 0) >= 0.5 ? 'Triggered' :

(inputs.unemployment_change || 0) >= 0.3 ? 'Warning' : 'Clear'

};

const yieldSpread = (inputs.yield_10y || 4) - (inputs.yield_3m || 4);

models.yieldCurve = {

name: 'Yield Curve',

triggered: yieldSpread < 0,

signal: yieldSpread < -1 ? 'Deeply Inverted' : yieldSpread < 0 ? 'Inverted' : 'Normal'

};

models.pmi = {

name: 'Manufacturing PMI',

triggered: (inputs.manufacturing_pmi || 50) < 45,

signal: (inputs.manufacturing_pmi || 50) < 42 ? 'Deep Contraction' :

(inputs.manufacturing_pmi || 50) < 50 ? 'Contraction' : 'Expansion'

};

return models;

}

function calculateRecessionProbability(inputs, models) {

let prob = 5;

if (models.sahm.triggered) prob += 25;

if (models.yieldCurve.triggered) prob += 25;

if (models.pmi.triggered) prob += 15;

if ((inputs.consumer_confidence || 100) < 80) prob += 15;

if ((inputs.gdp_growth || 2) < 0) prob += 20;

return Math.min(prob, 95);

}

function calculateDepressionProbability(inputs, models, recessionProb) {

if (recessionProb < 50) return 0.5;

let prob = 0.5;

if ((inputs.unemployment || 4) > 10) prob += 25;

if ((inputs.gdp_growth || 0) < -5) prob += 25;

if ((inputs.credit_spread || 150) > 400) prob += 20;

return Math.min(prob, 60);

}

function calculateStagflationProbability(inputs, models) {

let prob = 2;

if ((inputs.inflation || 2) > 5) prob += 20;

if ((inputs.unemployment || 4) > 5) prob += 15;

if ((inputs.gdp_growth || 2) < 2) prob += 15;

if ((inputs.oil_price_change || 0) > 30) prob += 20;

if ((inputs.productivity || 2) < 1) prob += 15;

return Math.min(prob, 80);

}

function compareToHistoricalCrises(inputs) {

const similarities = [];

Object.values(HISTORICAL_CRISES).forEach(crisis => {

let score = 0;

let matches = [];

if (crisis.indicators.unemployment && Math.abs((inputs.unemployment || 4) - crisis.indicators.unemployment) < 3) {

score += 20;

matches.push(`Unemployment: ${(inputs.unemployment || 4).toFixed(1)}% vs ${crisis.indicators.unemployment}%`);

}

if (crisis.indicators.gdp_growth && Math.abs((inputs.gdp_growth || 2) - crisis.indicators.gdp_growth) < 2) {

score += 25;

matches.push(`GDP Growth: ${(inputs.gdp_growth || 2).toFixed(1)}% vs ${crisis.indicators.gdp_growth}%`);

}

if (crisis.indicators.inflation && Math.abs((inputs.inflation || 2) - crisis.indicators.inflation) < 3) {

score += 20;

matches.push(`Inflation: ${(inputs.inflation || 2).toFixed(1)}% vs ${crisis.indicators.inflation}%`);

}

if (score >= 30) {

similarities.push({ ...crisis, score, matches });

}

});

return similarities.sort((a, b) => b.score - a.score);

}

function displayResults(scenarioName, recession, depression, stagflation, models, comparisons) {

const container = document.getElementById('results');

let html = `<h2 style="color: #2d3436; margin-bottom: 20px;">Analysis: ${scenarioName}</h2>`;

html += '<div class="probability-cards">';

html += `

<div class="probability-card recession-card">

<div class="probability-label">Recession Risk</div>

<div class="probability-value" style="color: ${recession < 15 ? '#28a745' : recession < 30 ? '#ffc107' : recession < 50 ? '#fd7e14' : '#dc3545'}">${recession.toFixed(1)}%</div>

<div class="risk-level ${recession < 15 ? 'risk-low' : recession < 30 ? 'risk-moderate' : recession < 50 ? 'risk-high' : 'risk-very-high'}">

${recession < 15 ? 'Low Risk' : recession < 30 ? 'Moderate' : recession < 50 ? 'High Risk' : 'Very High'}

</div>

</div>

<div class="probability-card depression-card">

<div class="probability-label">Depression Risk</div>

<div class="probability-value" style="color: ${depression < 5 ? '#28a745' : '#ffc107'}">${depression.toFixed(1)}%</div>

<div class="risk-level ${depression < 5 ? 'risk-low' : 'risk-moderate'}">

${depression < 5 ? 'Low Risk' : 'Moderate'}

</div>

</div>

<div class="probability-card stagflation-card">

<div class="probability-label">Stagflation Risk</div>

<div class="probability-value" style="color: ${stagflation < 15 ? '#28a745' : stagflation < 30 ? '#ffc107' : '#fd7e14'}">${stagflation.toFixed(1)}%</div>

<div class="risk-level ${stagflation < 15 ? 'risk-low' : stagflation < 30 ? 'risk-moderate' : 'risk-high'}">

${stagflation < 15 ? 'Low Risk' : stagflation < 30 ? 'Moderate' : 'High Risk'}

</div>

</div>

`;

html += '</div>';

if (comparisons.length > 0) {

html += '<div class="historical-comparisons"><h3>Historical Parallels</h3>';

comparisons.forEach(comp => {

html += `

<div class="crisis-comparison">

<div class="crisis-header">

<strong>${comp.name}</strong>

<span class="similarity-badge">${comp.score}% Match</span>

</div>

<div style="margin: 10px 0;">

${comp.matches.map(m => `<div style="color: #616161; font-size: 0.9em;">• ${m}</div>`).join('')}

</div>

<div style="background: #f5f5f5; padding: 10px; border-radius: 5px; margin-top: 10px;">

<strong>Lesson:</strong> ${comp.lessons}

</div>

</div>

`;

});

html += '</div>';

}

container.innerHTML = html;

}

// Auto-load stable scenario on page load

window.addEventListener('load', () => {

loadScenario('stable');

});

</script>

</body>

</html>

Next
Next

Executive Code: Technology Evaluation System and Report Writer