consumer_df = DailyActiveUsersGenerator(
engine="polars", min_length=120, max_length=120, freq="D",
base_users=10000.0, growth_rate=0.002, app_type="consumer", seed=42,
).generate(n_series=1)
business_df = DailyActiveUsersGenerator(
engine="polars", min_length=120, max_length=120, freq="D",
base_users=10000.0, growth_rate=0.002, app_type="business", seed=42,
).generate(n_series=1)
gaming_df = DailyActiveUsersGenerator(
engine="polars", min_length=120, max_length=120, freq="D",
base_users=10000.0, growth_rate=0.002, app_type="gaming", seed=42,
).generate(n_series=1)
panels = [
("consumer", consumer_df),
("business (B2B)", business_df),
("gaming", gaming_df),
]
fig, axes = plt.subplots(3, 1, figsize=(12, 7.5), sharex=True)
for ax, (label, df) in zip(axes, panels):
ax.plot(df["ds"].to_list(), df["y"].to_list(), alpha=0.85, linewidth=1)
ax.set(ylabel="Active users", title=label)
axes[-1].set_xlabel("Timestamp")
plt.tight_layout()
plt.show()