Aphelion (The Engine)

Why Stateless Synthetic Data Fails at Complex Business Logic

The only synthetic data generator combining industry standards for research, clinical operations, and pharmaceutical testing

April 03, 2026 • 10 min read • Advanced Generation

(CausalFoundry Track)

Modern enterprise systems are highly stateful. A user adds an item to a cart, proceeds to checkout, pays, and an item is shipped. This is a strict state machine (Markov chain).

When teams try to generate synthetic event logs to train predictive models (like cart abandonment predictors), they often use tools that generate data row-by-row. This "stateless" approach destroys the logic of the business.

The Architectural Problem: Broken User Journeys

If a generic data generator creates an event log for an e-commerce platform, it evaluates each row independently.

  • ✓Row 1: User A -\> Viewed Item
  • ✓Row 2: User B -\> Item Shipped (Wait, User B never checked out?)
  • ✓Row 3: User A -\> Cart Abandoned
  • ✓Row 4: User A -\> Payment Successful (Wait, the cart was abandoned?)

Because the generator has no memory of what happened in Row 1 when it creates Row 4, the generated user journeys are completely hallucinated. Training a behavioral ML model on this data is impossible.

The CausalFoundry Solution: In-Memory StateMaps

CausalFoundry is a stateful data engine. As it generates millions of events, it maintains an in-memory StateMap for every single entity (user, session, account) in the simulation.

Recipe: Enforcing Markov Chains in Event Streams

You define the valid state transitions in your manifest. CausalFoundry tracks the state of every user in real-time and only allows valid sequential events to be pushed to your Kafka stream.

# causal_manifest.yaml

invariants:

 - state_machine:

entity: user_session

allowed_transitions:

 - browsing -> added_to_cart, abandoned

 - added_to_cart -> checkout_started, abandoned

 - checkout_started -> payment_success, payment_failed

 - payment_success -> order_shipped



# The engine strictly references the user's current state before generating the next event

state: commerce.session_map

Result: CausalFoundry generates a mathematically perfect event log. A user will never have an order_shipped event unless they successfully passed through the payment_success state. Your ML models learn real, logical human behavior.

Tags: #Healthcare #OMOP #OpenMRS #SyntheticData #FHIR #HIPAA #DataGeneration

Ready for Verifiable Synthetic Data?

Discover how CausalFoundry manufactures high-integrity datasets that obey your complex business rules.

Explore CausalFoundry