UNPKG

@spaik/mcp-server-roi

Version:

MCP server for AI ROI prediction and tracking with Monte Carlo simulations

64 lines 2.21 kB
import { z } from 'zod'; export const MetricDataPointSchema = z.object({ timestamp: z.string().datetime(), value: z.number(), confidence: z.number().min(0).max(1).default(1), source: z.string().optional() }); export const ActualMetricsSchema = z.object({ id: z.string().uuid().optional(), projection_id: z.string().uuid(), period: z.string(), // e.g., "2024-01", "2024-Q1" metrics: z.object({ cost_savings: z.number(), time_savings_hours: z.number(), revenue_increase: z.number(), quality_improvements: z.object({ error_rate_reduction: z.number(), customer_satisfaction_increase: z.number().optional(), process_efficiency_gain: z.number().optional() }), user_adoption: z.number().min(0).max(1) }), evidence: z.array(z.object({ source: z.string(), metric: z.string(), value: z.number(), confidence: z.number().min(0).max(1), notes: z.string().optional() })).default([]), tracked_at: z.string().datetime().optional() }); export const TrackingUpdateSchema = z.object({ projection_id: z.string().uuid(), period: z.string(), actual_metrics: ActualMetricsSchema.shape.metrics, evidence: ActualMetricsSchema.shape.evidence.optional() }); // Variance analysis export const VarianceAnalysisSchema = z.object({ overall_variance_percentage: z.number(), metric_variances: z.object({ cost_savings: z.object({ expected: z.number(), actual: z.number(), variance_percentage: z.number(), variance_reason: z.string().optional() }), time_savings: z.object({ expected: z.number(), actual: z.number(), variance_percentage: z.number(), variance_reason: z.string().optional() }), roi: z.object({ expected: z.number(), actual: z.number(), variance_percentage: z.number(), variance_reason: z.string().optional() }) }), insights: z.array(z.string()), recommended_actions: z.array(z.string()) }); //# sourceMappingURL=metrics.js.map