Forecast before you publish

Creative instinct.
Measured risk.

Score a Facebook post against a reproducible historical baseline. You get ranges, confidence, and the exact cohort fallback - never a manufactured promise.

Campaign inputs

No credentials or content files are uploaded.

Technical case study 05Published by Ahmad Bukhari. Built and verified by AiXCEL Solutions.

Scenario brief

Forecast ranges that expose what the data cannot know.

Designed as a pre-publish planning baseline for creator and performance marketing teams. It learns from 500 licensed historical Facebook posts, changes forecasts when real inputs change, and shows the cohort fallback and uncertainty. It is not Florida-specific, not a current platform benchmark, and not a promise of views.

500licensed observations
400sequential training rows
100holdout rows
101.44interaction holdout MAE
0.80stored interval coverage
Problem

A state selector implied evidence that did not exist.

The UCI source contains no Florida field. The geographic control was removed instead of allowing a convincing but false local forecast.

Model

Two regularized regressions serve a versioned artifact.

Reach and interaction targets use log-space ridge models. Coefficients, residual intervals, data counts, holdout error, and coverage are stored in JSON.

Explanation

Counterfactual drivers prove that controls affect the answer.

Format, paid status, hour, weekday, month, category, and follower alternatives are evaluated and ranked by the change in expected interactions.

Architecture and infrastructure

Training is gated. Serving is static. Learning is never silent.

Content Performance Forecaster system context
System contextLicensed data, reviewed model artifact, public forecasts, input sensitivity, and future owned-data gate.
Content Performance Forecaster decision flow
Forecast decision flowValidation, encoding, model, cohort fallback, interval, sensitivity, and human interpretation.
Content Performance Forecaster training and deployment
Training and releaseCC BY source, deterministic job, holdout metrics, promotion gate, Vercel runtime, and logs.

Technical decisions

The correct model is smaller than an LLM.

Ridge regression over LLM fine-tuning

The outputs are numeric and the dataset is small. A transparent statistical model is cheaper, reproducible, and measurable.

Static artifact over online learning

Public traffic is unlabelled and untrusted. The serving function cannot silently change the champion model.

Sequential holdout over all-data training

One hundred rows remain outside training so error and interval coverage can be published.

Ranges over exact view promises

Public historical data supports uncertainty bands, not precise future counts.

Input sensitivity over generic explanations

A reviewer sees the numeric delta caused by alternative inputs.

Vercel over GPU or Kubernetes

A small JSON model needs neither GPU inference nor cluster orchestration.

Evaluation

Model and product checks

  • Versioned artifact integrity
  • Holdout MAE and interval coverage
  • Format and followers change forecasts
  • Unexpected training fields are rejected
  • At least 100 owned rows required

Observability now

Serving and evidence signals

  • X-Trace-ID and structured JSON logs
  • Model version, cohort, evidence, and warning
  • Input-sensitivity deltas
  • Vercel runtime logs and GitHub Actions
  • Browser and Postman contract checks

Owned-data path

Private challenger before promotion

  • Aggregate non-PHI outcome contract
  • Time-based holdout and drift review
  • Champion versus challenger comparison
  • OpenTelemetry and Sentry after pilot approval
  • Named human model-promotion decision
Trace tagsserviceenvironmenttrace_idmodel_versionrequested_cohortresolved_cohortlatency_msconfidenceinterval_coverageerror_type
Data source

UCI Facebook Metrics, Moro, Rita, and Vala, 2016, licensed CC BY 4.0. The data represents 500 posts from one historical Facebook page.

Inspect source ↗