Sign in Register

Grasshoppers 1-1 FC Luzern – Result & Analysis

🎯

Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.

Super League · Regular Season - 17

Kick-off

Sun 12 Dec 2021

15:30

Venue

Stadion Letzigrund

Competition

Super League

Switzerland

Status

FT
💬 Comment 📡 Chat 📝 Notes
📋

Poisson rates Grasshoppers at 57% — current form provides partial corroboration, though signals are mixed in this Grasshoppers vs FC Luzern encounter.

✍️ Match Preview

Analysis & Preview

A Super League encounter, Regular Season - 17 sees FC Luzern travel to Stadion Letzigrund to take on Grasshoppers. The game is scheduled for Sunday 12 December 2021, 15:30 UTC.

Form Analysis

Looking at all fixtures this season, Grasshoppers stand at 4W 3D 3L from 10 Super League matches — 1.50 PPG. Last five: W D L L W. They are averaging 2.30 goals per game — a high-scoring output that makes them a genuine attacking threat in any fixture. 1 clean sheet from 10 outings provides some defensive foundation. Both teams have scored in 80% of their matches — an extremely high rate that makes BTTS Yes a well-supported standalone angle from their form alone. This season is still relatively young for Grasshoppers, so this record blends games from this season and last.

Grasshoppers's home record at Stadion Letzigrund: 3W 3D 2L from 8 Super League appearances (1.50 PPG). They are averaging 2.00 goals per home game — a prolific scoring rate in front of their own fans. Both teams have scored in 75% of their home games — an outstanding BTTS rate that is a key data point for this fixture.

Across all Super League games this season, FC Luzern have recorded 1W 4D 5L from 10 outings — 0.70 PPG. Last five: D L L L L. Their scoring rate of 1.00 per game is modest, conceding 1.80 — not a side to back heavily on the Over 2.5 from their form alone. 1 clean sheet from 10 outings suggests some defensive organisation. Both teams have scored in 70% of their games — a noteworthy BTTS rate that supports the Yes market. This season is still relatively young for FC Luzern, so this record blends games from this season and last.

FC Luzern away from home this season: 0W 5D 3L from 8 away games — 0.62 PPG on the road. Away from home they average 1.00 goals scored and 2.12 conceded per game. Both teams have scored in 88% of their away matches — a high BTTS rate on the road that directly informs this fixture.

On current form, Grasshoppers have the edge — a 0.80 PPG advantage (1.50 vs 0.70) represents a meaningful gap. That momentum makes them the form-based pick, though if the outright price looks short, Draw No Bet is worth comparing.

Both teams score in over 75% of each side's relevant games (using home/away splits). At that combined rate, BTTS Yes is as well-evidenced as it gets — the data strongly backs two-way scoring.

In-Play Profile

Grasshoppers in-play tendencies (16 games, 8 at home): they score before half-time in 75% of fixtures in home games; when goalless at HT, a second-half goal follows 75% of the time; two or more arrive in the second half on 50% of those occasions; BTTS occurs in 75% of their matches (home games); Over 2.5 goals lands in 50% of games (home games); Over 3.5 in 50%.

FC Luzern in-play tendencies (16 games, 8 at away): they score before half-time in 88% of fixtures in away games; when trailing at the break they recover to draw or win in 25% of cases; BTTS occurs in 88% of their matches (away games); Over 2.5 goals lands in 50% of games (away games); Over 3.5 in 50%.

From a combined perspective, both sides have high BTTS rates — Grasshoppers 75% and FC Luzern 81% — which reinforces the BTTS Yes angle from in-play data. The over/under 2.5 picture is inconclusive from the in-play data (Grasshoppers 56% | FC Luzern 50%).

Poisson Model

The Poisson distribution model projects Grasshoppers 1.98 xG and FC Luzern 1.13 xG. These expected goals figures are the primary input: they feed a goal-probability matrix across all scoreline combinations to derive the result and market probabilities below. Underlying strength ratings: Grasshoppers attack 1.073 / defence 1.130 | FC Luzern attack 0.634 / defence 1.425. League average goals — home 1.291 / away 1.573. FC Luzern bring a strong defensive rating of 1.425 — this is suppressing Grasshoppers's projected output below what their attack strength alone would suggest. Data: 16 Grasshoppers games / 16 FC Luzern games used (CurrentSeason).

Result probabilities: Grasshoppers 57% | Draw 22% | FC Luzern 21%. Fair-value odds: Grasshoppers 1.75 | Draw 4.55 | FC Luzern 4.76. The model has a clear lean to Grasshoppers (57%) — a 36pp gap over the next-most-likely outcome reflects a meaningful statistical advantage.

Goals markets: Over 2.5 probability 60% | BTTS probability 58% | Total xG 3.10. Over 2.5 holds a meaningful probability edge at 60% — the 3.10 total xG provides moderate support, though the model is not projecting a high-scoring game. BTTS probability of 58% is moderate — neither team is projected to score with enough certainty to make Yes a clear standalone call.

Analysis Verdict

On the Poisson output, Grasshoppers are the pick at 57% — clear model lean. Current-season form corroborates the Poisson lean — partial multi-source support. Draw No Bet is worth pricing alongside the outright: 22% draw probability makes the stalemate a live outcome even at this conviction level.

The Poisson model projects 3.10 xG in total — Over 2.5 at 60% — reasonable confidence, supported by form averaging 3.3 goals per game.

On the BTTS market, Poisson puts 58% on Yes. Form rates corroborate: Grasshoppers 75% | FC Luzern 88% BTTS from recent games.

🔮 Your Prediction

Sign in to submit your prediction and see how it compares to the rest of the community.

💡 Key Insights

Form Grasshoppers lead on PPG: 1.50 vs 0.70 — stronger form across the last 10 games.
BTTS BTTS Yes is supported by both form (Grasshoppers 6/8, FC Luzern 7/8) and Poisson model (58%).
Form Form and Poisson model both favour Grasshoppers — Grasshoppers at 57% win probability.
Prediction Poisson model strongly favours Grasshoppers at 57% home win probability.
Goals Poisson Over 2.5 probability is 60% — the model favours goals in this fixture.

🏟️ Match Context

• Fixture: Grasshoppers vs FC Luzern | Competition: Super League, Regular Season - 17 | Venue: Stadion Letzigrund • Kick-off: Sunday 12 Dec 2021, 15:30 UTC • Data inputs: H2H history, form splits, prediction model signals, and market pricing

📊 Statistical Prediction

• Poisson result probabilities: Grasshoppers 57% | Draw 22% | FC Luzern 21% • Poisson goal markets: Over 2.5 60% | BTTS 58% | xG Grasshoppers 1.98 / FC Luzern 1.13 • Poisson strength factors: Grasshoppers attack 1.073 / def 1.130 | FC Luzern attack 0.634 / def 1.425 | league avg home 1.291 / away 1.573 • Poisson stance: Grasshoppers (57%) — strong lean

🧮 Prediction Model

1.98

Grasshoppers xG

Expected Goals

1.13

FC Luzern xG

57%
22%
21%
Grasshoppers Draw FC Luzern

58%

BTTS

82%

Over 1.5

60%

Over 2.5

38%

Over 3.5

Full score-by-score matrix & model internals in the "Full Poisson Detail" section below ↓

⚠️ This analysis is generated algorithmically from statistical data and is intended for informational purposes only. It does not constitute betting advice. Please gamble responsibly.

❓ Frequently Asked Questions

What time does Grasshoppers vs FC Luzern kick off?

Grasshoppers vs FC Luzern kicked off at 15:30 on Sunday 12 December 2021 at Stadion Letzigrund.

What was the final score in Grasshoppers vs FC Luzern?

Grasshoppers 1 - 1 FC Luzern.

Where is Grasshoppers vs FC Luzern being played?

The match is being played at Stadion Letzigrund.

What competition is Grasshoppers vs FC Luzern part of?

Grasshoppers vs FC Luzern is a Regular Season - 17 fixture in the Super League (Switzerland).

Who is favourite to win Grasshoppers vs FC Luzern?

Our statistical model gives Grasshoppers a 57% chance of winning, FC Luzern a 21% chance, and a 22% chance of a draw — making Grasshoppers the favourite.

Will both teams score in Grasshoppers vs FC Luzern?

Our model estimates a 58% probability that both Grasshoppers and FC Luzern will score (BTTS).

Will Grasshoppers vs FC Luzern have over 2.5 goals?

Our model puts the probability of over 2.5 goals in this match at 60%.

What is the head-to-head record between Grasshoppers and FC Luzern?

No recorded head-to-head meetings available in the dataset.

What form are Grasshoppers and FC Luzern in?

Grasshoppers (all comps): 4W-3D-3L in 10 | 1.50 PPG | GF 2.30 / GA 1.60 | L5 W-D-L-L-W. FC Luzern (all comps): 1W-4D-5L in 10 | 0.70 PPG | GF 1.00 / GA 1.80 | L5 D-L-L-L-L.

🧮 Model Insight

How the Model Works This Match

Grasshoppers's attacking strength (1.07x league average) is weighed against FC Luzern's defensive record (1.43x) to produce a home expected-goals figure of 1.98. The same calculation in reverse, FC Luzern's attack versus Grasshoppers's defence, projects 1.13 expected goals for the visitors.

These ratings are built from 16/16 games of current-season data — a full enough sample to trust.

Most Likely Scorelines

The model's single most probable exact score is 1-1, at 11.3%. Close behind: 2-1 (9.9%), 2-0 (8.8%). Together the top three scorelines make up 30% of the probability — a moderately spread distribution, typical of a competitive match-up.

Most Likely Outcome

Grasshoppers Win

57%

Grasshoppers

1.76

22%

Draw

4.55

21%

FC Luzern

4.73

Top 3 Most Likely Scorelines

1 – 1

10.0%

Draw

Most likely

2 – 1

9.9%

Home win

1 – 0

8.9%

Home win

Expected Goals & Win Odds

1.98

Grasshoppers xG

Total xG

3.10

1.13

FC Luzern xG

57%
22%
21%
GrasshoppersDrawFC Luzern

1.76

57%

Home win

4.55

22%

Draw

4.73

21%

Away win

Goals Markets

82%

Over 1.5

1.22

18%

Under 1.5

5.56

60%

Over 2.5

1.67

40%

Under 2.5

2.50

38%

Over 3.5

2.63

62%

Under 3.5

1.61

20%

Over 4.5

5.00

80%

Under 4.5

1.25

Match Markets

Both Teams to Score

58%

BTTS Yes

1.71

42%

BTTS No

2.40

Clean Sheet

32%

Grasshoppers

3.09

14%

FC Luzern

7.21

Win to Nil

18%

Grasshoppers

5.43

3%

FC Luzern

34.07

Score Probability Matrix (%)

H \ A 0 1 2 3 4 5
0 4.5 5.1 2.9 1.1 0.3 0.1
1 8.9 10.0 5.6 2.1 0.6 0.1
2 8.8 9.9 5.6 2.1 0.6 0.1
3 5.8 6.5 3.7 1.4 0.4 0.1
4 2.9 3.2 1.8 0.7 0.2
5 1.1 1.3 0.7 0.3 0.1

Green = home win Β· Grey = draw Β· Amber = away win Β· Outlined cell = most likely score

Model Internals
λ Home (xG) 1.975
λ Away (xG) 1.127
Total xG 3.102
League avg home goals 1.291
League avg away goals 1.573
Grasshoppers attack strength 1.073
Grasshoppers defence strength 1.130
FC Luzern attack strength 0.634
FC Luzern defence strength 1.425
Data phase CurrentSeason
Games used (H/A) 16 / 16

❓ Frequently Asked Questions

What is the most likely scoreline for Grasshoppers vs FC Luzern?

Our Poisson model rates 1-1 as the single most likely exact scoreline, at 11.3%.

How many goals are Grasshoppers and FC Luzern expected to score?

The model projects 1.98 expected goals for Grasshoppers and 1.13 for FC Luzern, a combined total of 3.10.

How confident is the prediction model for Grasshoppers vs FC Luzern?

Reasonably confident — the model's leading outcome is rated at 57%, a clear lean rather than a toss-up.

📈 Form Insight

Form at a Glance

Grasshoppers's recent record stands at 5W 6D 5L from 16 games, a 1.31 PPG return, with W-D-L-L-W in the last five. The sample for Grasshoppers is still a mix of this season and last, given how young the current campaign is.

FC Luzern, meanwhile, have gone 1W 7D 8L across 16 games — 0.62 PPG, with D-L-L-L-L in their last five. The sample for FC Luzern is still a mix of this season and last, given how young the current campaign is.

The points-per-game comparison favours Grasshoppers by 0.69 — a real, if not enormous, edge over FC Luzern heading into this one.

Venue Form

At home specifically, Grasshoppers have managed 3W 3D 2L from 8 games — 1.50 PPG in front of their own supporters.

FC Luzern's away record stands at 0W 5D 3L across 8 trips, a 0.62 PPG haul.

Comparing the two in their relevant venue splits, Grasshoppers come out ahead — a more targeted read than the overall PPG figures above, since it strips out games played in the opposite context.

Goals in Recent Form

Grasshoppers are averaging 1.81 goals scored and 1.44 conceded per game recently; FC Luzern are on 1.19 scored and 2.06 conceded.

On BTTS specifically: Grasshoppers have seen both teams score in 75% of their recent games; FC Luzern in 81%.

Last 16 Results — Super League

Current season: same league only · Previous season: all leagues (covers promoted/relegated teams)

Grasshoppers

Grasshoppers

Blended
W D L L W
FC Luzern

FC Luzern

Blended
D L L L L
16 Played 16
5/6/5 W / D / L 1/7/8
1.31 Points Per Game 0.62
1.81 Avg Goals Scored 1.19
1.44 Avg Goals Conceded 2.06
3.25 Avg Goals / Game 3.25
2 Clean Sheets 1
12 BTTS 13
9 Over 2.5 Games 8
Grasshoppers

Grasshoppers

W
A FC ST. Gallen
4–0 HT 2–0
05 Dec
L
H FC Lugano
0–1 HT 0–0
27 Nov
L
A Servette FC
2–3 HT 0–1
21 Nov
D
H BSC Young Boys
1–1 HT 1–0
06 Nov
W
A FC Sion
3–1 HT 2–0
31 Oct
D
H FC Zurich
3–3 HT 3–2
23 Oct
L
A Lausanne
1–3 HT 0–2
17 Oct
W
H FC ST. Gallen
5–2 HT 2–0
02 Oct
W
H FC Sion
3–1 HT 2–0
26 Sep
D
A FC Lugano
1–1 HT 0–0
23 Sep
D
A FC Luzern
1–1 HT 0–1
11 Sep
D
H Servette FC
1–1 HT 1–1
29 Aug
L
A FC Zurich
1–2 HT 1–1
21 Aug
W
H Lausanne
3–1 HT 1–0
07 Aug
D
A BSC Young Boys
0–0 HT 0–0
31 Jul
L
H FC Basel 1893
0–2 HT 0–0
25 Jul
FC Luzern

FC Luzern

L
A FC Zurich
0–4 HT 0–3
04 Dec
L
H FC Basel 1893
1–3 HT 0–1
28 Nov
L
A FC Lugano
1–3 HT 1–3
21 Nov
L
H FC Sion
0–1 HT 0–0
06 Nov
D
A Lausanne
1–1 HT 0–1
31 Oct
W
H FC ST. Gallen
2–0 HT 1–0
24 Oct
D
A BSC Young Boys
1–1 HT 1–0
16 Oct
D
A FC Basel 1893
1–1 HT 0–0
03 Oct
L
H FC Lugano
2–3 HT 1–3
26 Sep
D
A FC Sion
1–1 HT 0–1
23 Sep
D
H Grasshoppers
1–1 HT 1–0
11 Sep
D
H Lausanne
1–1 HT 0–1
29 Aug
L
A Servette FC
1–4 HT 0–3
22 Aug
L
H FC Zurich
1–3 HT 1–2
08 Aug
D
A FC ST. Gallen
2–2 HT 0–2
01 Aug
L
H BSC Young Boys
3–4 HT 2–1
24 Jul

❓ Frequently Asked Questions

What form are Grasshoppers and FC Luzern in coming into this match?

Grasshoppers have gone 5W 6D 5L in their last 16 games (1.31 PPG), while FC Luzern have gone 1W 7D 8L in their last 16 (0.62 PPG).

Which team has the better venue record — Grasshoppers at home or FC Luzern away?

Grasshoppers's home record (1.50 PPG) is the stronger of the two venue-specific splits — Grasshoppers at home: 1.50 PPG; FC Luzern away: 0.62 PPG.

⚔️ Rivalry Insight

Fixture History

10 meetings separate these sides on the data we hold, the series stretching back to November 2023. Every recorded meeting has come in Super League. They last met on 25 April 2026, roughly 3 months ago.

Streaks & Records

FC Luzern have won the last 4 meetings between these two, a run that gives them the psychological edge coming in.

The biggest gap between the sides came on 2 Nov 2025, when FC Luzern won 6-0 — the largest margin of victory on record between these two.

Grasshoppers's record when hosting FC Luzern specifically: 1W 1D 3L from 5 games — a narrower, venue-specific slice of the head-to-head picture.

Last 10 Meetings

Grasshoppers

1

Grasshoppers

2

Draws

FC Luzern

7

FC Luzern

Recent Meetings

Grasshoppers
1–2
25 Apr 26
FC Luzern
FC Luzern
4–3
10 Feb 26
Grasshoppers
FC Luzern
6–0
02 Nov 25
Grasshoppers
Grasshoppers
2–3
26 Jul 25
FC Luzern
Grasshoppers
3–1
06 Apr 25
FC Luzern
FC Luzern
2–0
03 Nov 24
Grasshoppers
Grasshoppers
2–2
27 Jul 24
FC Luzern
FC Luzern
1–1
10 May 24
Grasshoppers
Grasshoppers
0–1
24 Feb 24
FC Luzern
FC Luzern
2–0
05 Nov 23
Grasshoppers

❓ Frequently Asked Questions

What is the head-to-head record between Grasshoppers and FC Luzern?

From 10 meetings on record, Grasshoppers have won 1, FC Luzern have won 7, and 2 have been drawn.

When did Grasshoppers and FC Luzern last play each other?

They last met on 25 April 2026, when Grasshoppers 1-2 FC Luzern.

Who has won more matches between Grasshoppers and FC Luzern?

FC Luzern have the better head-to-head record, with 7 wins from 10 meetings.

📈 Trading Insight

First-Half Patterns

Grasshoppers are typically involved in an early goal — the half-time board shows at least one in 75% of their matches. They've gone in front at half-time 62% of the time, though they've let that lead slip 25% of the time they've held it — worth watching if they're only ahead by one.

FC Luzern are typically involved in an early goal — the half-time board shows at least one in 88% of their matches. They've also shown some fight from behind, salvaging a draw or win after trailing at half-time in 38% of those situations.

Full-Time Trends

Both teams scoring has been the norm for this pairing lately — Grasshoppers at 75%, FC Luzern at 88%. That combined rate makes BTTS Yes a well-supported trading angle.

Over 2.5 has been close to a coin-flip for both sides — 50% (Grasshoppers) and 50% (FC Luzern).

📈

Current season: same league only. Previous season: all leagues (covers promoted/relegated teams). All = any venue  |  Venue = Grasshoppers home games / FC Luzern away games. HT metrics require half-time score data β€” shown as β€” where unavailable.

Grasshoppers Grasshoppers Blended
Metric All
(16 games)
Venue
(8 games)
Half-Time Metrics
1+ Goal Before HT 12/16
(75%)
6/8
(75%)
2+ Goals Before HT 8/16
(50%)
4/8
(50%)
0-0 HT → 1+ Goal 2nd Half 3/4
(75%)
2/2
(100%)
0-0 HT → 2+ Goals 2nd Half 2/4
(50%)
1/2
(50%)
Winning at HT 7/16
(43.8%)
5/8
(62.5%)
Lost Lead (Win HT → No Win FT) 2/16
(12.5%)
2/8
(25%)
Came From Behind (Lose HT → Draw/Win FT) 1/16
(6.2%)
0/8
(0%)
Full-Time Metrics
BTTS 12/16
(75%)
6/8
(75%)
Over 2.5 Goals 9/16
(56.2%)
4/8
(50%)
Over 3.5 Goals 8/16
(50%)
4/8
(50%)
Clean Sheet 2/16
(12.5%)
0/8
(0%)
Failed to Score 3/16
(18.8%)
2/8
(25%)
FC Luzern FC Luzern Blended
Metric All
(16 games)
Venue
(8 games)
Half-Time Metrics
1+ Goal Before HT 14/16
(87.5%)
7/8
(87.5%)
2+ Goals Before HT 7/16
(43.8%)
4/8
(50%)
0-0 HT → 1+ Goal 2nd Half 2/2
(100%)
1/1
(100%)
0-0 HT → 2+ Goals 2nd Half 1/2
(50%)
1/1
(100%)
Winning at HT 4/16
(25%)
1/8
(12.5%)
Lost Lead (Win HT → No Win FT) 3/16
(18.8%)
1/8
(12.5%)
Came From Behind (Lose HT → Draw/Win FT) 4/16
(25%)
3/8
(37.5%)
Full-Time Metrics
BTTS 13/16
(81.2%)
7/8
(87.5%)
Over 2.5 Goals 8/16
(50%)
4/8
(50%)
Over 3.5 Goals 8/16
(50%)
4/8
(50%)
Clean Sheet 1/16
(6.2%)
0/8
(0%)
Failed to Score 2/16
(12.5%)
1/8
(12.5%)

❓ Frequently Asked Questions

Do both teams usually score when Grasshoppers play FC Luzern?

Yes — based on recent matches, both teams have scored in 75% of Grasshoppers's games and 88% of FC Luzern's, a combined rate that favours BTTS Yes.

Is Grasshoppers vs FC Luzern usually a high-scoring fixture?

Not particularly — Over 2.5 goals has come in for only 50% of Grasshoppers's recent games and 50% of FC Luzern's, pointing to a tighter contest.

Do Grasshoppers and FC Luzern tend to score early?

Grasshoppers have had a goal before half-time in 75% of their recent matches, FC Luzern in 88% — a useful reference point for first-half goal markets.

📰

Grasshoppers and FC Luzern share the spoils in a 1-1 draw.

📝 Match Report

How It Unfolded

The points were shared at Stadion Letzigrund, Regular Season - 17, as Grasshoppers and FC Luzern drew 1-1 in the Super League. The remainder of the report sets that outcome against the pre-match model, the markets and the teams' data profiles.

The Model vs The Result

The Poisson model went into this projecting Grasshoppers 1.98 xG and FC Luzern 1.13 xG, a combined 3.10. The scoreboard read 1-1 for 2 actual goals. Grasshoppers fell 1.0 short of their projected output. Those figures were built on strength ratings of Grasshoppers attack 1.07 / defence 1.13 against FC Luzern attack 0.63 / defence 1.43, drawn from 16/16 games (CurrentSeason).

On the result, the model split it Grasshoppers 57% | Draw 22% | FC Luzern 21%, with Grasshoppers to win its most likely call at 57%. Instead the game produced a draw, an outcome the model had rated at just 22% — a clear break from expectation and a genuine upset by the numbers.

Goals & Markets

The model rated Over 2.5 goals at 60%. The game delivered 2, so it stayed under — against the model's lean. Over 1.5 had been 82% and landed. On both teams to score, the model sat at 58% and the match saw both sides score — another call in the model's favour. Historically the two sides average 53% Over 2.5 across their same-competition games (Grasshoppers 56%, FC Luzern 50%), a base rate that pointed the other way from today's under. Their combined BTTS history runs at 78%, which matched the both-scored outcome.

Trading Patterns vs Reality

Grasshoppers's trading profile (16 games, 8 home) set some clear expectations: BTTS lands in 75% of their matches — today it did.

FC Luzern's trading profile (16 games, 8 away) set some clear expectations: BTTS lands in 81% of their matches — today it did.

Form vs Result

On form, Grasshoppers arrived the stronger side — 1.31 PPG against 0.62. The form guide was only half-right: the stronger side did not lose, but could not convert the edge into a win. Grasshoppers (home/away splits) managed 1 against a 2.00 scoring average — below par going forward. FC Luzern (home/away splits) conceded 1 against a 2.12 average — tighter than their form line.

Verdict

Grading the result against the stored data, 1 of 4 pre-match signals came in: result (miss), Over 2.5 (miss), BTTS (hit), form (miss). This one broke away from the data — most of the pre-match signals were overturned by how the ninety minutes actually played out.

💡 Key Insights

Model Goals market defied the model — 60% Over 2.5 probability, but 2 goals scored.
Model BTTS matched the model — 58% projected, both teams scored.
Trading Trading data bucked — 53% historical Over 2.5 rate, but the game stayed under.

⚠️ This match report is generated algorithmically from the final score, our prediction model, and each team's historical form and trading data. Analysis is for informational purposes only.