Skip to content

[Due for payment 2026-10-15] [Insights polish] Mark the in-progress period on Spend over time so a partial period doesn't read as a drop #103089

Closed

Description

@JmillsExpensify

Background

Today, Spend over time draws a continuous line and fills in the area for a set of data that is incomplete. To give a more specific example, imagine it's Oct 5 and a user has selected Last 12 months, grouped by month. In that case, October might only show about $230,000 in spend, vs eleven months of roughly $1,200,000 in spend. That reads as an 80% drop in spend, when it's really not, as we're only pulling from five days of October data. Previous period makes things even worse, because it compares those five days against the whole prior bucket.

This issue marks the in-progress bucket as partial and compares it against the same elapsed span of its prior bucket.

Product and design details

Image

Which bucket is in progress

  • The in-progress bucket is the one that contains today. Only Date ranges that include today are valid, such as: This month, Year to date, Last 12 months, a Custom range ending today, and a Custom day set to today. Last month never contains today, so it's out of scope.

Display

  • The line segment leading into the in-progress bucket is dashed. The area fill stops at the last complete bucket, so there is no fill beneath the dashed segment. On hover, the dot drawn for that bucket is hollow, not filled. Every other segment, dot, and area fill is unchanged.
  • Its x-axis label is unchanged (Oct '26).
  • The tooltip's period line and the matching list row both name the elapsed span followed by so far: Oct so far, Week of Oct 5 so far, Q4 so far, Jan 1–Oct 5 so far. Grouped by day, today reads Oct 5 so far.

Matching the elapsed span under Previous period

  • The in-progress bucket's comparison counts only the same number of days into its own bucket. On Oct 5 with This month, October 1–5 compares against September 1–5.
  • When the prior bucket is shorter than the elapsed span, we use the whole prior bucket. On Mar 30 with This month, March 1–30 compares against all of February.
  • The tooltip names the matched span on the comparison line (Sep 1–5: $210,000.00 (…)), and the list row's percentage change uses it too.
  • This is a data change: the previous-period series has to return the in-progress bucket's matched span rather than the full prior bucket.
Issue Owner

Current Issue Owner: @mhawryluk

Issue OwnerCurrent Issue Owner: @mallenexpensify

Activity

  1. added
    ImprovementItem broken or needs improvement.
    InternalRequires API changes or must be handled by Expensify staff
    on Oct 5, 2026
  2. mhawryluk commented on Oct 6, 2026

    @mhawryluk
    Member

    working on this!

  3. mhawryluk commented on Oct 6, 2026

    @mhawryluk
    Member

    Oct 1–5 so far, Week of Oct 5 so far, Q4 so far, Jan 1–Oct 5 so far

    Oct 1–5 so far -> is this for grouping by month? shouldn't it be October so far to match Week of Oct 5 so far and Q4 so far? @JmillsExpensify

  4. JmillsExpensify commented on Oct 6, 2026

    @JmillsExpensify
    ContributorAuthor

    Great call. Yes, let's do that. I also updated the OP.

  5. mhawryluk commented on Oct 6, 2026

    @mhawryluk
    Member

    This is a data change: the previous-period series has to return the in-progress bucket's matched span rather than the full prior bucket.

    I think this is an R2 backend change we need to implement @aldo-expensify @cristipaval

  6. 13 remaining items

  7. added
    Awaiting PaymentAuto-added when associated PR is deployed to production
    and removed on Oct 12, 2026
  8. melvin-bot commented on Oct 14, 2026

    @melvin-bot

    Triggered auto assignment to @mallenexpensify (Awaiting Payment)

  9. melvin-bot commented on Oct 14, 2026

    @melvin-bot

    Payment Summary

    Resolving PRs:

    BugZero Checklist (@mallenexpensify)

    • I have confirmed assignees, roles, and Upwork contracts look correct
    • I have paid out Upwork contracts / manual NewDot requests
    • [BugZero Assignee] I have created a GH issue for creating/updating the regression test once above steps have been agreed upon
  10. daledah commented on Oct 15, 2026

    @daledah
    Contributor

    Note: The payment should be $250 since this issue is part of the Insights Page project.

  11. mallenexpensify commented on Oct 17, 2026

    @mallenexpensify
    Contributor

    Payment Summary

    Contributor+: @daledah due $250 via NewDot

  12. quinthar commented on Oct 27, 2026

    @quinthar
    Contributor

    Approved $250 to @daledah

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2ImprovementItem broken or needs improvement.InternalRequires API changes or must be handled by Expensify staff

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions