Sep 6, 2025

cNode API (Preview): Forecasts & Szenarien per Schnittstelle jetzt testen, später produktiv

by

Leonardo Bornhäußer

white usb cable plugged in white electric socket
white usb cable plugged in white electric socket

Einleitung: Warum eine Forecasting-API?

Entscheidungen entstehen nicht im Dashboard, sondern in Prozessen und Systemen. Mit der cNode API bringen Sie Forecasts, Szenarien und erklärbare Modelle direkt in ERP, SaaS-Apps oder Reporting-Pipelines. Die öffentliche API befindet sich aktuell in der Preview-Phase: Felder und Endpunkte können sich bis zum GA-Release noch ändern.

Architekturgedanke: Cluster & Zielmodelle

Die API ist modular aufgebaut: Jede Anfrage adressiert einen Cluster (Domäne) und ein Goal (Zielmodell/KPI).

  • Cluster (Preview):

    finance, product, hr, marketing, compliance, supply_chain
  • Beispiele Goals:

    • Finance:

      revenue_forecast, cashflow_forecast, break_even, profitability, roi_forecast, valuation_dcf, price_elasticity, anomaly_detection
    • Product:

      demand_forecast, inventory_coverage, return_rate_forecast
    • HR:

      headcount_forecast, attrition_forecast
    • Marketing:

      mql_forecast, cac_ltv_projection
    • Compliance:

      esg_risk_score, anomaly_detection

So wählen Teams gezielt KPI und Kontext – statt generischer „One-size-fits-all“-Prognosen.

Request/Response auf einen Blick

  • Request (Preview):

    project_id, cluster, goal, horizon (z. B. 12M), domänenspezifische inputs (Zeitreihen + Kontext), explainability (default: true), options (Confidence, Intervals, Sensitivity, Backtest, Retrain, Tags, Metadata)
  • Response (Preview):

    run_id, forecast (Datum/Wert), optionale intervals (Konfidenzbänder), explanations (Top-Features global, optional lokal pro Zeitpunkt), diagnostics (Metriken wie WAPE/MAE/RMSE, Warnungen, Retrain-Hinweis)

Vollständiges Preview-Snippet

Hinweis: Das Snippet nutzt bewusst eine MOCK-URL. Ersetzen Sie die URL durch die Produktions-Base sobald GA live ist.

/**
 * CNode API — Preview / Coming Soon (copy–paste)
 * -----------------------------------------------------------------------------
 * STATUS: The public API is under active development. Endpoints and fields may
 *         change before GA. This snippet uses a MOCK URL so you can demo today.
 *
 * PROD BASE URL (when live):
 *   https://api.cnode.ai/v1/scenarios:run
 *
 * CLUSTERS (preview):
 *   "finance", "product", "hr", "marketing", "compliance", "supply_chain"
 *
 * COMMON GOALS by cluster (preview examples):
 *   finance:      "revenue_forecast", "cashflow_forecast", "break_even",
 *                 "profitability", "roi_forecast", "valuation_dcf",
 *                 "price_elasticity", "anomaly_detection"
 *   product:      "demand_forecast", "inventory_coverage", "return_rate_forecast"
 *   hr:           "headcount_forecast", "attrition_forecast"
 *   marketing:    "mql_forecast", "cac_ltv_projection"
 *   compliance:   "esg_risk_score", "anomaly_detection"
 *
 * REQUEST SCHEMA (preview):
 *   {
 *     project_id: string,                      // required
 *     cluster: string,                          // required (see CLUSTERS)
 *     goal: string,                             // required (see GOALS)
 *     horizon: "3M"|"6M"|"12M"|string,          // required
 *     inputs: object,                           // required, domain-specific
 *     explainability?: boolean,                 // default: true
 *     options?: {
 *       confidence?: number,                    // 0.5..0.99; default: 0.8
 *       include_intervals?: boolean,            // return prediction bands
 *       sensitivity?: { top_k?: number },       // top drivers count
 *       backtest?: { from: string, to: string, metric?: "WAPE"|"MAE"|"RMSE" },
 *       retrain?: "auto"|"never",               // retraining hint
 *       tags?: string[],                        // free-form labels
 *       metadata?: Record<string, unknown>      // passthrough user metadata
 *     }
 *   }
 *
 * RESPONSE SCHEMA (preview):
 *   {
 *     run_id: string,
 *     forecast: Array<{ date: "YYYY-MM-DD", value: number }>,
 *     intervals?: Array<{ date: string, lower: number, upper: number, confidence: number }>,
 *     explanations?: {
 *       global_top_features: Array<{ feature: string, weight: number }>,
 *       local?: Array<{ date: string, contributions: Array<{ feature: string, weight: number }> }>
 *     },
 *     diagnostics?: {
 *       metrics?: { WAPE?: number, MAE?: number, RMSE?: number },
 *       retrain?: boolean,
 *       warnings?: string[]
 *     }
 *   }
 *
 * SECURITY NOTE:
 *   Keep API keys server-side. Use Node 18+ (built-in fetch) or a serverless runtime.
 */

import crypto from "node:crypto";

async function runCNodeAPIDemo() {
  // Optional: quick reference you can print in your demo UI
  // const CLUSTERS = ["finance","product","hr","marketing","compliance","supply_chain"];
  // const GOALS = {
  //   finance: ["revenue_forecast","cashflow_forecast","break_even","profitability","roi_forecast","valuation_dcf","price_elasticity","anomaly_detection"]
  // };

  const body = {
    project_id: "demo-finance",
    cluster: "finance",
    goal: "revenue_forecast", // try: "cashflow_forecast", "valuation_dcf", "price_elasticity"
    horizon: "12M",

    // Domain inputs (preview): supply your time series + attributes
    inputs: {
      currency: "EUR",
      revenue_history: [
        { date: "2024-09-01", value: 42000 },
        { date: "2025-08-01", value: 86500 }
      ],
      cost_history: [
        { date: "2024-09-01", value: -28000 },
        { date: "2025-08-01", value: -52500 }
      ],
      // Optional contextual features (examples):
      calendar: [{ date: "2025-05-01", holiday: true }],
      promo_index: [{ date: "2025-06-01", value: 0.6 }],
      assumptions: { seasonality: true, growth_hint: 0.08 }
    },

    explainability: true,

    // Tuning & utilities (preview)
    options: {
      confidence: 0.8,             // 80% PI
      include_intervals: true,     // lower/upper bands
      sensitivity: { top_k: 5 },   // top drivers
      backtest: {
        from: "2025-01-01",
        to: "2025-08-01",
        metric: "WAPE"
      },
      retrain: "auto",
      tags: ["homepage-demo"],
      metadata: { source: "marketing-site" }
    },

    // DEV marker so readers know this is a mock/demo request
    _note: "coming-soon: replace mock URL with production once live"
  };

  const res = await fetch("https://yourdomain.com/api/mock/cnode/scenarios:run", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.CNODE_API_KEY_PLACEHOLDER}`, // server-side only
      "Content-Type": "application/json",
      "Idempotency-Key": crypto.randomUUID(),
      "X-API-Version": "2025-09-01",
      "X-Demo-Mode": "true"
    },
    body: JSON.stringify(body)
  });

  if (!res.ok) {
    const err = await res.json().catch(() => ({}));
    throw new Error(`Mock API ${res.status}: ${err.message ?? res.statusText}`);
  }

  const { run_id, forecast, intervals, explanations, diagnostics } = await res.json();

  console.log("Run:", run_id);
  console.table(forecast.slice(0, 6));                // preview first 6 points
  if (intervals) console.table(intervals.slice(0, 3)); // preview bands
  console.log("Top drivers:", explanations?.global_top_features?.slice(0, 5));
  console.log("Metrics (if backtest):", diagnostics?.metrics);
}

runCNodeAPIDemo().catch(err => {
  console.error(err);
  process.exit(1);
});

Explainability, Backtesting, Sensitivität

  • Explainability: Aktivieren Sie globale und (optional) lokale Treiber, um Entscheidungen nachvollziehbar zu machen.

  • Backtesting:

    Bewerten Sie Modellgüte mit WAPE, MAE oder RMSE über Zeiträume (from/to)
  • Sensitivity:

    Lassen Sie sich die wichtigsten Einflussfaktoren (top_k) für die gewählte Zielgröße ausgeben

Diese Bausteine sorgen dafür, dass Forecasts prüfbar bleiben – ein Muss für Finance, ESG und regulierte Umfelder.

Sicherheit, Governance & Compliance

  • API-Keys ausschließlich serverseitig verwalten.

  • EU-Hosting, DSGVO-Konformität, Mandanten-Isolation.

  • Versionierung & Audit-Trails über den Governance-Layer (z. B. für Revisionssicherheit).

Roadmap & GA-Hinweis

Diese Preview ist entwicklungsnah. Bis zum GA-Release können Bezeichner, Felder und Standardwerte angepasst werden. Ziel bleibt ein stabiler, versionierter Endpunkt für verlässliche Enterprise-Integrationen.

Discover more posts

Stay up to date with our latest articles on data-driven planning, AI-driven scenario management, and best practices from real-world use of cNode.