What is BehaviourSim?
BehaviourSim is an open-source Python framework (distributed as 'behaviorsim' on PyPI) and cloud API designed for generating reproducible synthetic sequential behavioral data. It models human and system trajectories as discrete Markov state machines that emit parametric features at each interaction step.
What is synthetic sequential behavioral data?
Synthetic sequential behavioral data consists of artificially generated time-series or event-log trajectories where each record depends chronologically on previous states and actions. Unlike independent, identically distributed (IID) tabular rows, sequential behavioral data preserves temporal dependencies, transition dynamics, and user state progressions.
How do I generate synthetic behavioral data in Python?
Install the package via 'pip install behaviorsim', initialize a simulator using Simulator.from_preset('finance') (or custom states), and call sim.generate(num_interactions=100, num_sequences=10, seed=42). The method returns a structured pandas DataFrame.
What is a behavioral state?
In BehaviourSim, a behavioral state represents a discrete internal or operational condition of an agent (such as 'browsing', 'evaluating', 'transacting', 'churned', 'adherent', or 'stressed'). Active states govern which feature distributions are sampled and constrain valid transitions to subsequent states.
How does BehaviourSim generate sequential data?
Generation follows a two-stage decoupled stochastic process: First, an agent transitions across discrete states according to a Markov transition probability matrix or conditional rules. Second, observable continuous and categorical features are sampled from probability distributions parameterized specifically for that active state.
Can BehaviourSim generate reproducible synthetic data?
Yes. BehaviourSim guarantees deterministic reproducibility across platforms by accepting an explicit integer seed. Running simulation workloads with the same seed, state definitions, and emission parameters produces bit-for-bit identical sequence datasets.
What distributions does BehaviourSim support?
BehaviourSim supports 8 verified parametric emission distributions: Normal (Gaussian), Lognormal, Exponential, Poisson, Uniform, Uniform Discrete, Bernoulli (binary flags), and Categorical (multinomial choices).
Can BehaviourSim model different behavioral profiles?
Yes. Agents can be initialized with distinct profile vectors and prior distributions (Dirichlet priors), allowing simulations to model heterogeneous cohorts such as novice versus power users, high-frequency traders, or adherent versus non-adherent patients.
What domain presets does BehaviourSim provide?
BehaviourSim includes 4 built-in domain presets: Finance (trading states, portfolio values, volatility alerts), Healthcare (vital signs, adherence, dosage levels), Education (engagement states, accuracy, response times), and Mobile App (onboarding, active session, checkout funnel, churn). Note: presets are simulation models for testing and research, not clinical or financial advice.
Can BehaviourSim be used for machine learning experiments?
Yes. Researchers and ML engineers use BehaviourSim to benchmark recurrent neural networks (RNNs/LSTMs/Transformers), evaluate feature engineering pipelines, simulate temporal concept drift, and test anomaly detection without exposing sensitive real-world user data.
Does BehaviourSim provide an API?
Yes. BehaviourSim provides a hosted cloud REST API at api.behavioursim.vedaangsharma.in with endpoints for preset discovery, asynchronous simulation job dispatch, status polling, and API key management.
Does BehaviourSim provide a web interface?
Yes. The BehaviourSim Web platform at behavioursim.vedaangsharma.in provides an interactive Simulation Playground, statistical telemetry visualizers, transition matrix heatmaps, and comprehensive documentation.
How does BehaviourSim differ from a generic random data generator?
Generic random generators sample rows independently without temporal continuity or state awareness. BehaviourSim enforces temporal inertia, absorbing Markov states, state-conditioned multivariate distributions, and deterministic lineage required for realistic sequence simulation.
Have more technical questions? Review our full mathematical methodology and API catalog.