Similar Days

Similar Days

Synthetic lab + private CSV analysis

Synthetic sample · no personal readings · glucose in mg/dL

Try my data · or reset the sample

Working with your own history

Find a familiar pattern.

Import one or more Dexcom Clarity CSVs in mg/dL. Choose a moment and compare the preceding hour with earlier patterns from your own history.

Processed in this browser tab. Files are not uploaded or saved; refreshing clears them.

Synthetic sample readings

3 earlier matches · preceding hour

Match details and recorded outcomes

Match 1 · 2026-09-03 03:50 AM

1.3 mg/dL

Matching-window difference (RMSE)

Recorded one hour later: 108 mg/dL

Match 2 · 2026-09-01 07:35 PM

5.0 mg/dL

Matching-window difference (RMSE)

Recorded one hour later: 124 mg/dL

Match 3 · 2026-09-04 10:20 PM

6.2 mg/dL

Matching-window difference (RMSE)

Recorded one hour later: 103 mg/dL

Synthetic sample1,994 readings · 7 days with eligible moments
How matching works and what it cannot tell you

We compare 13 approximately five-minute readings over the preceding hour, using the root mean squared difference in glucose level. Lower means closer; it is not a probability or confidence score. We choose at most one match per earlier calendar day, using only patterns whose full following hour ended before your selected history began.

The shaded hour determines the ranking. Following readings never affect match selection. Gaps, conflicting timestamps and nonnumeric High/Low entries are excluded. The chart aligns readings by five-minute steps; small sensor timestamp variations are allowed. Export timestamps without an offset use this device’s local clock.

These are your own historical readings, not other people’s data. Meals, insulin, activity and illness may differ. Do not use matches for insulin dosing or as a replacement for CGM alerts.

Exploration only, not treatment guidance. Imported files stay in this tab.

Explore the synthetic model lab

Synthetic excursion lab · retrospective only

Find a similar observed shape.

One fictional 90-day history, June 1–August 29, 2026, sampled every five minutes. Compare a completed three-hour excursion with earlier windows. This is exploratory retrieval, not a live forecast or a simulation of what food or insulin would do now.

All readings and context are synthetic, from a schematic, unvalidated model. These are not personalized predictions or dosing guidance. Similar shapes do not establish similar causes or action outcomes. Not for treatment decisions. Your imported CSV below is separate and is never used in this lab.

Model-derived template; initial value 155 mg/dL. Search anchor: August 30, 2026 00:00 UTC. Template continuation is not shown.

Matching rules, limitations and reproducibility
  • 37 consecutive readings over 180 minutes; 100% query and candidate coverage required. Missing values or non-five-minute gaps reject a window; no interpolation.
  • Candidate starts every 30 minutes across all hours. Candidate plus its 60-minute display horizon must end strictly before query start. Self matches and overlapping history are excluded.
  • Shape distance is root mean square error after subtracting each window’s mean. Vertical offset is ignored for ranking, but amplitude and timing are retained. No variance scaling, stretching, time warping or dose conversion. Absolute distance uses raw mg/dL.
  • Keep only distances at or below your threshold; rank ascending, breaking ties by earlier date. Select up to five, at most one per UTC start date, with no overlap between their match-plus-outcome intervals. There may be fewer than five or none.
  • Context and later outcomes never enter the score or ranking. Missing continuation remains missing rather than excluding the match. Later values are revealed only on request. Results describe this fictional history, not outcome probabilities.
  • This mode uses the whole completed excursion. It cannot be interpreted as matching a partial excursion “right now.” A prefix mode would require a separate query boundary and validation; it is not enabled here.
  • Generator overlap-five-minute-v2, seed 20261018; 25,920 scheduled samples. Every five-minute change sums integrated food absorption, meal-bolus action, background production, background insulin and an explicit stabilizing balance. Food and bolus use unit-area triangular action profiles (180/45 and 240/75 minutes duration/peak). Event amounts and times vary with the seed. A warmup day carries action tails across midnight; no glucose clamping, shape drawing or forced outcome ordering. Missing observations hide readings without stopping integration. This is not a validated physiological model or evidence of predictive performance.
Scenario guide · dates, questions and expected behavior

Aug 19 · overlapping components

Which earlier completed excursions look similar?

Event overlap determines this shape. Matches depend on the threshold, not a forced recurring glucose motif.

Aug 12 · compare shape and level

Does a matching shape also start at the same glucose level?

Switch Shape to Absolute. Mean offsets affect absolute distance; amplitude is preserved in both modes.

Jul 31 · missing span

What happens when the query has a gap?

The query is rejected. The underlying model keeps integrating during missing observations; readings are not interpolated.

Jun 1 · no prior history

What if nothing earlier is available?

No matches. The first window has no preceding history; the system does not fill five slots anyway.

Aug 25 · ordinary afternoon

Do less distinctive shapes retrieve different examples?

Results depend on threshold and mode. A match is descriptive similarity, not shared circumstances or causal evidence.

For a strict no-match check, select the template and move the threshold to 0. No result slots are filled artificially.

5 independent matches · 4226 complete earlier windows evaluated · 2481 within threshold before independence filtering · 86 incomplete candidate windows rejected.

Food and meal-bolus lines mark query events only; “Now” is the end of this completed schematic query, not the current clock. Effects from earlier events may continue into the window. Raw glucose is plotted even in Shape mode; no curve is shifted to look closer. Dark green: query. Match numbers and colors are listed below. Dashed segments are subsequent observations, not forecasts.

Inspect five-minute component integration and event times

Each row is the change over the preceding five minutes in schematic mg/dL: next glucose = previous glucose + food + meal bolus + production + background insulin + balance. Background production is +2.5 and background insulin −2.5 per interval, including when no meal bolus is present. Stabilizing balance = (reference − previous glucose) × 0.003 × 5; reference is 155 mg/dL. This mathematical stabilization is not a validated physiological mechanism.

Food has a positive triangular action profile; meal bolus has a negative one. Exact integrated areas determine interval contributions. Amounts are schematic effects, not grams or units. Full precision is used internally; table values are rounded. Model overlap-five-minute-v2; seed 20261018. History includes a one-day warmup from May 31, starting at 130 mg/dL.

  • Minute 60: Food, total 100.0 schematic mg/dL magnitude; duration 180 min, peak rate 45 min after event.
  • Minute 0: Meal bolus, total 100.0 schematic mg/dL magnitude; duration 240 min, peak rate 75 min after event.

Only events starting within the query are listed above. Earlier events can still contribute. Model records retain every event timestamp, component, parameter, version and seed in browser memory; imported readings remain untouched.

Interval endPreviousFoodMeal bolusProductionBackground insulinBalanceNetNext modeled
5 min155.000.00-0.142.50-2.500.00-0.14154.86
10 min154.860.00-0.422.50-2.500.00-0.41154.45
15 min154.450.00-0.692.50-2.500.01-0.69153.76
20 min153.760.00-0.972.50-2.500.02-0.95152.81
25 min152.810.00-1.252.50-2.500.03-1.22151.59
30 min151.590.00-1.532.50-2.500.05-1.48150.11
35 min150.110.00-1.812.50-2.500.07-1.73148.38
40 min148.380.00-2.082.50-2.500.10-1.98146.40
45 min146.400.00-2.362.50-2.500.13-2.23144.16
50 min144.160.00-2.642.50-2.500.16-2.48141.69
55 min141.690.00-2.922.50-2.500.20-2.72138.97
60 min138.970.00-3.192.50-2.500.24-2.95136.02
65 min136.020.31-3.472.50-2.500.28-2.88133.14
70 min133.140.93-3.752.50-2.500.33-2.50130.64
75 min130.641.54-4.032.50-2.500.37-2.12128.52
80 min128.522.16-4.102.50-2.500.40-1.55126.98
85 min126.982.78-3.982.50-2.500.42-0.78126.20
90 min126.203.40-3.852.50-2.500.43-0.02126.17
95 min126.174.01-3.722.50-2.500.430.72126.89
100 min126.894.63-3.602.50-2.500.421.45128.35
105 min128.355.25-3.472.50-2.500.402.17130.52
110 min130.525.45-3.352.50-2.500.372.47133.00
115 min133.005.25-3.222.50-2.500.332.36135.35
120 min135.355.04-3.092.50-2.500.292.24137.59
125 min137.594.84-2.972.50-2.500.262.13139.72
130 min139.724.63-2.842.50-2.500.232.02141.74
135 min141.744.42-2.712.50-2.500.201.91143.65
140 min143.654.22-2.592.50-2.500.171.80145.45
145 min145.454.01-2.462.50-2.500.141.69147.14
150 min147.143.81-2.342.50-2.500.121.59148.73
155 min148.733.60-2.212.50-2.500.091.49150.22
160 min150.223.40-2.082.50-2.500.071.38151.60
165 min151.603.19-1.962.50-2.500.051.28152.88
170 min152.882.98-1.832.50-2.500.031.18154.07
175 min154.072.78-1.702.50-2.500.011.09155.16
180 min155.162.57-1.582.50-2.50-0.000.99156.15

Match 1 · 2026-07-04

2026-07-04 17:30 UTC → 2026-07-04 20:30 UTC

Selected shape RMSE
1.2 mg/dL
Shape / absolute RMSE
1.2 / 43.9 mg/dL
Mean offset (match − query)
-43.9 mg/dL
Range amplitude difference
-2.8 mg/dL
Start / end differences
-44.6 / -45.7 mg/dL
Matching coverage
37 / 37 readings · 100%

Match 2 · 2026-06-21

2026-06-21 07:30 UTC → 2026-06-21 10:30 UTC

Selected shape RMSE
1.2 mg/dL
Shape / absolute RMSE
1.2 / 31.5 mg/dL
Mean offset (match − query)
-31.4 mg/dL
Range amplitude difference
4.3 mg/dL
Start / end differences
-30.8 / -29.2 mg/dL
Matching coverage
37 / 37 readings · 100%

Match 3 · 2026-07-09

2026-07-09 17:30 UTC → 2026-07-09 20:30 UTC

Selected shape RMSE
1.4 mg/dL
Shape / absolute RMSE
1.4 / 21.1 mg/dL
Mean offset (match − query)
-21.1 mg/dL
Range amplitude difference
4.4 mg/dL
Start / end differences
-20.2 / -18.7 mg/dL
Matching coverage
37 / 37 readings · 100%

Match 4 · 2026-06-26

2026-06-26 08:00 UTC → 2026-06-26 11:00 UTC

Selected shape RMSE
1.5 mg/dL
Shape / absolute RMSE
1.5 / 29.8 mg/dL
Mean offset (match − query)
-29.8 mg/dL
Range amplitude difference
5.0 mg/dL
Start / end differences
-29.2 / -27.0 mg/dL
Matching coverage
37 / 37 readings · 100%

Match 5 · 2026-08-08

2026-08-08 12:00 UTC → 2026-08-08 15:00 UTC

Selected shape RMSE
1.6 mg/dL
Shape / absolute RMSE
1.6 / 16.8 mg/dL
Mean offset (match − query)
-16.7 mg/dL
Range amplitude difference
5.3 mg/dL
Start / end differences
-10.7 / -16.3 mg/dL
Matching coverage
37 / 37 readings · 100%
Explore the original concept demo (synthetic data)
Example dayYour demo day · September 16
6 am → 12:00 Only this window is used for comparison

Where the paths separate

Three illustrative days from different synthetic people.

mg/dL
Your day up to 12:00Shaded: matching windowRight: example outcomes
01 / MATCH

Look at the same part of the day

The concept matches glucose level, direction, and shape before your selected time. Later outcomes would not determine the match.

02 / EXPLORE

See what happened next

Follow a similar day beyond the match window and notice where the curves diverge.

03 / ADD CONTEXT

Leave room for the unknown

Meals, insulin, and activity are not available in this demo. A similar curve does not imply similar circumstances.

About these comparisons

These curves are generated illustrations, not matches retrieved from real people. Changing the time regenerates the sample endings. A future matching system would need consented data, clear coverage requirements, and validation. This preview does not predict glucose or recommend treatment.