First Bayesian regression in PyMC – feedback on model structure & posterior predictive

Hello everyone,
My name is adishree I’m new to PyMC and Bayesian modeling, and I’ve just built my first Bayesian regression model to predict exam scores based on study hours and midterm performance. I’d really appreciate feedback on whether my model structure, priors, and posterior predictive workflow are reasonable for a first project.

Here is the core model:

with pm.Model() as marks_model:
    intercept = pm.Normal("intercept", mu=50, sigma=20)
    study_hours = pm.Normal("study_hours", mu=1, sigma=1)
    midterm_marks = pm.Normal("midterm_marks", mu=0.5, sigma=0.5)
    sigma = pm.HalfNormal("sigma", sigma=10)
mu = (
    intercept
    + study_hours * hours
    + midterm_marks * midterm
)

y = pm.Normal(
    "y",
    mu=mu,
    sigma=sigma,
    observed=final_score
)

trace = pm.sample(2000, tune=1000)

posterior_predictive = pm.sample_posterior_predictive(
    trace,
    draws=1000
)

NOTE: i built this model on Google Collab.
The data is synthetically generated - 100 observations. The full notebook, including data generation and posterior predictive summaries, is available here: