The 49ers’ season on offense can be divided into two distinct time periods: Before and after Jimmy Garoppolo became the team’s starting quarterback.

Here are the improvements that were made in key statistical areas on offense over the final five games of the season, coinciding with Garoppolo’s appearance in the 49ers’ starting lineup. . .

YARDS PER GAME

Before Garoppolo: 321.7 (21st in NFL)

After Garoppolo: 410.0 (1st in NFL*)

Total: 349.3 (12th in NFL)

NET PASSING PER GAME

Before Garoppolo: 221.8 (17th in NFL)

After Garoppolo: 297.0 (1st in NFL*)

Total: 245.3 (9th in NFL)

THIRD DOWNS

Before Garoppolo: 34.1 percent (26th in NFL)

After Garoppolo: 50.0 percent (1st in NFL*)

Total: 38.9 percent (16th in NFL)

COMPLETION PERCENTAGE

Before Garoppolo: 56.6 percent (31st in NFL)

After Garoppolo: 67.0 percent (3rd in NFL*)

Total: 59.6 percent (25th in NFL)

SACKS ALLOWED

Before Garoppolo: 35 (tied for 6th most in NFL)

After Garoppolo: 8 (27th most in NFL*)

Total: 43 (tied for 11th most in NFL)

TIME OF POSSESSION

Before Garoppolo: 27:36 (31st in NFL)

After Garoppolo: 32:54 (1st in NFL*)

Total: 28:44 (26th in NFL)

POINTS PER GAME

Before Garoppolo: 17.0 (28th in NFL)

After Garoppolo: 28.8 (2nd in NFL*)

Total: 20.9 (20th in NFL)

*-NFL rank projected over the entire season