Nova Baby by Nova Baby

Methods & caveats

Two different kinds of thing live on this page, and they are kept apart on purpose. Part one is how we chose to count. Part two is educational guidance from clinical bodies, which this analyzer never applies to your log.

Part one

Nova’s calculation conventions

These are product choices, not medical thresholds. No clinical body defines “a nap” or “a night” for a phone log. We had to pick boundaries so the same file always produces the same answer, so here they are in full. Someone else could pick differently and be equally right.

The analysis day

An analysis day runs from 06:00 to 05:59. A session belongs to the civil date of its start time minus six hours, which keeps a night that crosses midnight in one piece instead of splitting it across two dates.

The first and last days of a log are almost always partial — you started logging mid-afternoon, or exported mid-morning — so they are excluded from window summaries. They still appear in the ribbon.

Night versus nap

The night corridor is 18:00 to 06:00. A sleep interval counts as night when at least half of it overlaps that corridor, or when it starts between 18:00 and 05:59 and lasts at least 180 minutes. Everything else is a nap. The second rule exists so a long, late-starting sleep is not misfiled as a nap just because most of its minutes land after midnight.

Logged interruptions

A logged interruption is a gap of 2 to 180 minutes between two consecutive recorded intervals inside the same night. It is never called a waking, and we will not call it one. Sleep timers in the export frequently keep running through a feed, so an unbroken timer is not evidence that nobody woke, and a gap is only evidence that two records did not touch.

Wake windows

A wake interval before a nap is kept when the gap runs from 10 to 720 minutes. Shorter gaps are usually one sleep logged as two; longer ones usually mean a nap went unlogged.

What counts as valid

  • A sleep interval is valid from 1 to 1,200 minutes. Outside that range it is dropped, and the count of drops is shown to you.
  • A feed duration is valid up to 120 minutes. Beyond that the duration is discarded but the feed start still counts toward frequency and gaps — a mistyped end time should not erase the fact that a feed happened.
  • Overlapping sleep timers are merged into one interval, and the number of merged minutes is disclosed in the report rather than quietly absorbed.

Milestones

A milestone is only reported when it is sustained: two adjacent 28-day windows, each containing at least 21 qualifying days. A good fortnight is not a milestone. Milestones are dated by month of the log — which month of your own recording it happened in — and never by your baby’s age, because the export contains no birth date at all.

Coverage gates

Some figures need more data than others before they mean anything. Clock figures — typical bedtime and final wake — need at least 28 nights with a logged night interval within the window, and at least 80% of the window’s days covered. When a gate is not met, the figure is withheld rather than shown with a shrug.

How the headline is chosen

The large line at the top of your report, and the chapter title beside it, are picked by fixed rules rather than by whatever looked interesting. The same file always produces the same headline. The cut-offs below are product choices like every other number on this page; they exist so that a headline never rests on a handful of days. Two terms they use: a 30-day block is one 30-day slice of the log, counted back from the newest end, and a night group is one night’s worth of logged night intervals.

No headline carrying a number is offered at all until the log can be compared against its own beginning: a span of at least 180 days, and at least 6 eligible 30-day blocks, each holding at least 24 covered days. Short of that, the report shows the neutral headline and makes no numeric claim.

Past that gate, the first of these three that clears its own test becomes the headline, in this fixed order; the next one becomes the smaller line beneath it. All three compare the oldest eligible block with the newest.

  • Naps. The median naps per day fell by at least 2.
  • Longest logged night stretch. The newest block’s median is at least 1.5× the oldest block’s, each block holds at least 20 night groups, and the older median is at least 30 minutes — a floor that keeps a very small baseline from turning ordinary variation into a large ratio.
  • Evening clock. The median logged bedtime moved by at least 60 minutes, earlier or later, with at least 21 nights with a logged night interval in each of the two blocks.

The chapter title is assembled from up to three slots, and appears only when at least two of them clear their own gate — one phrase is not a description of a rhythm. The slots read the current chapter: the last 91 days of the log when that window clears its coverage gates, otherwise the last 60.

  • Naps. Needs at least 24 covered days and at least 14 logged naps in that window.
  • Nights. “Long arc” needs at least 20 night groups and a median longest logged night stretch of at least 480 minutes. Failing that, the slot describes the spread of the logged bedtime instead, which needs at least 28 nights with a logged night interval: a median absolute deviation of 30 minutes or less is called steady, and more than that flexible. Both words describe spread within your own log against the number printed here, and nothing else. Neither one is better than the other.
  • Feed weave. Needs at least 100 parsed side segments and at least 70% of non-empty side fields parsed. A log-wide left share within 5 points of an even split is called even; otherwise a recent share more than 5 points from the log-wide share is called shifting, and anything else leaning.

Rounding

The engine computes at full precision and rounds only for display. A number you read as “about 9 h” is a rounded presentation of an exact figure, not a rounded calculation.

Metric definitions version: rhythm-metrics/1.0.0

Time zones

The export stores plain local clock times with no time-zone information at all. Times are shown exactly as recorded in the export. Your device’s time zone, and the time zone you are reading this in, never change the results.

The cost of that honesty: if your family travelled, or a clock change landed mid-log, the original local context cannot be reconstructed from this file. A bedtime that appears to shift by an hour in October may be a real change, or may be the clocks. The analyzer cannot tell the difference and does not pretend to.

What the log cannot say

  • True wakings. A sleep timer is often left running through an overnight feed, so the export cannot distinguish a night nobody woke from a night the timer simply kept counting. Only logged interruptions between separate records are reportable, and always with that caveat attached.
  • Sleep quality or sleep stages. Start and end times say when a timer ran. They carry nothing about depth, restfulness, or stages.
  • Intake, supply, or milk transfer. Recorded nursing minutes are minutes. They are not millilitres, and no arithmetic here turns one into the other.
  • Causes. A feed logged next to a sleep is a feed logged next to a sleep. The report describes co-occurrence in the records and never claims one produced the other.
  • Age norms. There is no date of birth in the export, so no age-based range is ever applied to your log — see part two.
  • The sleep environment. Nothing in a CSV of timestamps can speak to where or how a baby slept.

One naming note: “feed” on this site means the breast-feed records in the export. It is a count of recorded nursing sessions and their recorded minutes — never a measure of total intake.

Part two

Clinical guidance — educational only

Nothing below is applied to your log. These are published resources, listed so you can read them yourself. This analyzer does not compare your file to any of them, and a guideline is not a percentile in any case.

  • The American Academy of Sleep Medicine recommends 12 to 16 hours of sleep per 24 hours including naps for ages 4 to 12 months, and 11 to 14 hours for ages 1 to 2 years. Need varies by age and by individual biology. This analyzer never applies those ranges, because the export contains no date of birth — there is no way to know which range would even be the right one, and a range is not a score to be measured against.
  • The CDC notes that every baby is different and that feeding frequency and length change over time. That is one reason the report never judges a feed count or a feed duration; it describes what was recorded and stops there.
  • NICHD’s Safe to Sleep guidance covers the sleep environment — surface, position, what is in the space. A CSV of timestamps cannot audit any of that, so this analyzer never comments on sleep safety.

Sources

For anything about your own baby, the people to ask are your paediatrician or midwife — not a chart drawn from a spreadsheet.

Ready when you are

Analyze your CSV privately — nothing uploads

Need the file first? How to export your Huckleberry data.