nextup home

How it works

Every time you press Next, the rules on this page pick the video. The numbers are read from the same settings the code runs on, so this page shows what the site does today. Formula version 1.

The one number we try to improve

A video counts as a hit when you watch at least 10 seconds of it, or when it ends before that. Moving on sooner is an early skip. A play is complete when the video ends or you watch 90% of it. A complete play needs at least 1 s actually played, so a video that ends without playing is not a watch.

hit rate = hits / (hits + early skips)

Videos that fail to load are counted separately as errors. If you close the page during a video, the play counts as a hit once 10 seconds have played; before that it is left out of the hit rate. Every change to the ranking is judged by what it does to the hit rate.

Which videos can come next

Before anything is scored, a video is left out when:

  • you have already seen it on this device (nextup never repeats);
  • its host says it is deleted, private or cannot be embedded;
  • it is in the community lane and its stored quality is below 0.5;
  • it is a Short and you are watching long videos, or the other way round. A new viewer starts with long videos, the site's current default; the settings switch it any time;
  • it would break the variety rule further down this page.

The score

Each remaining video gets a score between 0 and 1:

s = w_q·Q + w_p·P + w_r·R + w_t·T

  • Quality Q weighs 0.7 (w_q).
  • Popularity P weighs 0.15 (w_p).
  • Recency R weighs 0.1 (w_r).
  • Tag match T weighs 0.05 (w_t).

The weights are scaled to add up to 1. When you have not chosen tags to favour, the tag weight moves to quality, so quality then weighs 0.75. Quality gets the most weight on purpose: a video people keep watching is the best evidence we have.

Quality

Q = a·Qv + (1 − a)·Qw, with a = 0.5

Vote qualitycomes from settled up and down votes, weighted by each voter's trust. Skips and full watches by members count as softer votes, at 0.5 of an explicit vote (i).

Qv = (U_e + i·U_i + m·p0) / (U_e + D_e + i·(U_i + D_i) + m)

A video starts from a prior p0 worth 5 votes (m): 0.8for Sonny's picks and 0.7 for community videos. While no settled votes from trusted members exist, vote quality is that prior and quality is driven by watching. How votes settle and what they weigh is under Votes and member signals below.

Watch qualityis the video's own hit rate, pulled toward its lane's average while it has few plays:

Qw = (H + k·h0) / (H + S + k)

H is hits (complete plays included), S is early skips, and k is 20. The lane average h0 is the hit rate of everything served from that lane over the last 28 days. Until a lane has at least 50 hits and early skips in that window, h0 is a fixed starting value instead: 0.8 for picks and 0.7 for community videos. With only a few plays, a lane average would be noise.

Popularity and recency

P = ln(1 + H + c·C) / ln(1 + X), at most 1

C is complete plays, counted extra at 0.5 each (c). X is the value that 99% of the videos on offer stay under, so one runaway hit cannot flatten everyone else. Only watching counts: a play that was skipped adds nothing.

R = 2^(−age / half-life)

Age is counted from the day a video was added to nextup, not from its upload date. The half-life is 90 days, gentle enough that a good old video keeps its place.

Tag match T is the share of your chosen tags a video carries, and 0 when you chose none. You choose them in your own ranking.

The draw: why Next is not always the top video

nextup does not simply play the highest score. It draws, so better videos are more likely without the stream turning predictable. Each video gets a random key and the lowest key plays:

key = ln(−ln u) − s / τ, with u random between 0 and 1

τ sets how random the draw is. It is 0.08 today: a video scoring 0.8 is about 3.5 times as likely to come next as one scoring 0.7. A smaller τ plays the best video almost every time; a larger one gets close to shuffling. It never goes below 0.005, because at 0 the formula would divide by zero. Each draw takes the first 30 videos by key and the variety rule picks among them in that order.

Sections, and how they mix

Sonny's picks and community videos live in separate lanes. Each section plays its own lanes and nothing else. Switch between them from the stream button above the player; every section has its own address you can share.

  • Sonny's picks: only the videos Sonny picked by hand.
  • Community: only videos members submitted that passed the test in New, or a trusted member's video on probation (below). A video still in New never plays here.
  • New: fresh submissions, for members who volunteer to judge them. Nobody else is ever served one.
  • Everything (the home page) and every tag stream mix picks and community videos by the rule below. A volunteer also gets a video from New now and then.

All sections share one list of what you have watched, so switching never brings a video back.

On Everything and on tag streams, every next video first flips a weighted coin to choose the lane:

P(picks) = max(0.3, 1 − community / 200)

Here "community" is the number of community videos that pass the quality floor (within the tag, on a tag stream). While the community lane is small, picks fill the stream; once it is large, picks keep a share of 30%. If the chosen lane has nothing left you have not seen, the other lane is used.

Community videosChance of a pick
0100%
5075%
10050%
20030%

While nextup is one person's collection, there is no community lane: every stream plays picks only, and Community says it is opening soon.

Variety

  • Never two videos in a row from the same channel.
  • At most 2 videos from one channel in any 10 in a row.
  • On the home stream, at most 3 videos in a row sharing their first tag.

When no drawn video passes all of these, the parts are dropped one at a time, in this order, until one does. That way a small tag does not end while there are still videos you have not seen:

  1. the limit on videos in a row sharing their first tag
  2. the limit per channel within a window of videos
  3. the ban on two videos in a row from one channel

Dropping a part never brings back a video you have already seen.

To apply the rule across videos, your browser sends the last 9 videos you watched with each request.

Never a repeat

Without an account, the list of videos you have seen stays on your device. It holds up to 5,000 videos, dropping the oldest. It is sent with each request for the next video so those can be skipped, and the nextup application does not keep it. Forget what I watched, at the bottom of every page, clears it. More in the privacy statement.

When you are signed in as a member, nextup also keeps the list of videos you played with your account, so you never get one again on any of your devices. That list is kept for 13 months.

Your own ranking

The default above is what almost everyone gets, and it is meant to give the best stream without touching anything. If you want something else, the ranking button next to the stream name opens five sliders beside the video, never on top of it:

  • Votes: how much of quality is votes rather than watching, the a in Q, from 0 to 1 in steps of 0.01. While there are no votes yet, turning it up only makes watching count for less.
  • Views: the popularity weight w_p. Low means less-watched videos get the same chance as the well-known ones.
  • Recency: the recency weight w_r. High means newer additions first.
  • Randomness: τ, from 0.005 to 0.5 in steps of 0.001. Near the top it is close to a shuffle.
  • Tag weight: the tag weight w_t for up to 3 tags you choose. Videos carrying them move up; the others still play.

Each weight goes from 0 to 1 in steps of 0.01, and the weights are scaled to add up to 1 as always. The quality weight comes from the preset you start from. If every weight is 0, the default weights apply. The server checks every value and moves one that is out of range to the nearest allowed value.

Your ranking only changes the order. The filters stay the same: the quality floor for community videos uses the stored default quality, so no setting brings back a video that dropped below it, and never a video you have seen.

Presets

Four ready-made settings, with what we expect each to do to the hit rate. We compare each one's real hit rate against the default.

PresetQualityVotes shareViewsRecencyTag weightRandomness
Default0.70.50.150.10.050.08
Deep cuts0.750.500.10.050.12
Fresh0.550.50.10.350.050.08
Classics0.650.50.300.050.06
  • Default: The baseline every other preset is measured against: what almost everyone gets.
  • Deep cuts: We expect a hit rate 2 to 4 points under the default: the most watched videos are the proven ones, and this ignores how much a video was watched and draws more loosely. In return plays spread to videos with little evidence yet, which helps the ranking learn.
  • Fresh: We expect about the default's hit rate, perhaps 1 to 2 points lower: recent additions have few plays, so their quality is mostly the lane's starting value. You see what is new first.
  • Classics: We expect the highest hit rate of the four, 1 to 3 points over the default: proven, widely watched videos, drawn more strictly. The price is variety, and a regular viewer reaches the end of the stream sooner.

While you move the sliders, the sheet shows 10 titles that could come next with those settings. It is one random sample under the same rules, so the stream will not follow it exactly.

Sharing a ranking

Share this preset copies a link. A ready-made preset travels by name, for example ?preset=fresh. Slider settings travel as a short code with the formula version first: the default is ?p=v1.70.15.10.5.50.80 and Fresh would be ?p=v1.55.10.35.5.50.80 (quality, views, recency and tag weight in hundredths, then the votes share in hundredths, randomness in thousandths, then any tags). Anyone who opens the link gets exactly those settings. A link made for another formula version is refused instead of being read the wrong way.

Once the community opens, members can save up to 20 rankings with a name of up to 40 characters, and keep each one private or make it public. The link of a saved ranking is random. Only you ever see its name, so nothing about it says who made it. A saved ranking cannot be edited: save a new one instead, so a link always means the same settings.

What we record

Each play report says which ranking the video was served with, so we can compare hit rates: a ready-made preset by its name, customfor anyone's own slider settings, or a public saved ranking by its link. A private saved ranking is never recorded, because it would point at one person.

Top, Most watched and Deep cuts

These are lists, not draws. Each one is worked out ahead of time, every 30 minutes, and holds at most 500 videos. When you press Play you get the first videos on the list that you have not seen here, in order. Nothing is left to chance and no preset changes the order. When you have seen the whole list, the stream says so and offers others: it never plays one twice.

A list holds only videos the site can play: Sonny's picks and Community videos that pass the same filters as every other stream. A video still in New is never on any list. Each video is checked again at the moment it is served, so one that was removed or stopped playing since the list was made is skipped. Lists play one video after another in their own order, without the variety rule.

Top

Top of the day, Top of the week, Top of the month and Top of all time rank by members' votes. Only votes that have settled count, and each one weighs the voter's trust, from 0 to 1, as it is when the list is made. A vote counts in the window in which it settled: the last 1 day, 7 days or 30 days. Votes settle about a day after they are cast, so Top of the day shows the votes cast roughly one to two days ago. All time counts every settled vote, including those of deleted accounts, which are kept without a name.

A video needs at least 1 of weighted votes in the window to be listed. The list is not ordered by the share of up votes, which would put a video with one vote at 100 % above one with hundreds. It is ordered by the lowest share the votes still support (the Wilson score lower bound), with U and D the weighted up and down votes:

n = U + D, p = U / n, lower bound = (p + z²/2n − z·√(p(1 − p)/n + z²/4n²)) / (1 + z²/n), z = 1.96

For example, 3 up votes and none down give a lower bound of 0.438, while 30 up and 3 down give 0.764: more evidence wins. The order:

  1. the lower bound, highest first
  2. the most recently added video first

Most watched

Most watched counts the plays of the last 30 days that went past the first 10 seconds, finished plays included, from our own play reports. A video needs at least 3 of them. Clicks that were skipped add nothing. The order:

  1. plays watched past 10 seconds in the window, most first
  2. the most recently added video first

Top and Most watched open with the community. While nextup is one person's collection there are no votes, so their pages say so.

Deep cuts

Deep cuts are good videos that rarely come up. A video qualifies once it has been on nextup for at least 30 days and its plays per day since it was added are among the lowest 25% of those videos. Plays are counted from our own reports, never from the host. The order:

  1. quality (the stored default Q), best first
  2. plays per day since it was added, fewest first
  3. the most recently added video first

Deep cuts works in every mode: while nextup is one person's collection, it lists Sonny's picks only. It is not the Deep cuts preset above. That preset reweights the normal stream; this is a list.

Votes and member signals

Members can vote a video up or down once they have been served it. Members' plays also count as softer signals: a complete play, or one where at least 60% of the video was watched, counts as up; an early skip counts as down; a shorter watch counts as neither.

  • A vote counts only if you actually played the video here before it settles: watched it, finished it, or skipped it after it started. A vote on a video that never played for you is dropped.
  • A vote can be changed or taken back for 24 hours after it is first cast. Taking a vote back and voting again starts a new vote.
  • A vote or signal counts in the ranking only 24 hours after its latest change (rounded up to the next quarter hour), and only if the account is still in good standing then. If the account is suspended, banned or deleted within that time, including as part of a suspended invite branch, the vote or signal never counts, even if the suspension is lifted. Settling is checked every 15 minutes.
  • Each settled vote weighs as much as its voter's trust, a number between 0 and 1. New accounts start at 0, so their votes do not move the ranking until the account has earned trust.
  • At most 200 votes, changes and retractions per account per day.
  • In the New lane, a video's votes stay hidden from you until you have voted on it yourself, so you judge the video and not the crowd.
  • When an account is deleted, its settled votes stay in the video's totals without any link to the account; everything not yet settled is dropped. After 13months a member's signals are merged into the video's totals the same way.

Trust

Every member has a trust between 0 and 1. It is how much their votes and plays weigh, and it decides when they get invites. It is computed from what members do here, every 24 hours, for everyone. Your own trust and how it was computed are on your account page. Trust is not public: only you and the owner who runs the site see it.

t = standing × (0.25× tenure + 0.35 × activity + 0.4× calibration)

  • Tenure is 0 for the first 7 days of membership, then grows evenly and is full 60 days later. During those first days trust itself is 0, whatever else the account does; hits from those days still count afterwards.
  • Activity counts your hits (plays past 10 seconds, and complete plays) on picks and community videos over the last 90 days, at most 10 a day and one per video. It is full at 100 hits.
  • Calibration looks at your votes on New videos that were then decided: graduated to the community stream, or retired by the rule. Only a vote that had settled (24 hours after your last change to it) by the time the video was decided counts, so voting on a video after its outcome is known never raises calibration. A vote agrees when it was up on a video that graduated or down on one that retired. It is 0 until 10 of your votes count; then it is 0 at 50% agreement or less and grows evenly to full at 40% above that, in percentage points. A video the owner removed, vetoed or took out of the streams is not a community outcome and does not count.
  • Standing is 1. It is 0.5 if, in the last 90 days, the owner removed, vetoed or took out of the streams a video or note you submitted and no restore undid it, or an abuse flag about you was upheld. It is 0 while the account is suspended or banned.
  • Trust is capped at the trust of the member who invited you, but never below 0.5, so a branch of the invite tree cannot outrank where it started.
  • The owner's trust is fixed at 1. The owner can set a member's trust by hand; the reason is recorded, and that member sees the value and the reason on their account page.

An example: on day 30 of membership, with 40 counted hits and 12 votes on decided videos, 9 of which agreed, in good standing: tenure 0.383, activity 0.4, calibration 0.625, so t = 0.486.

Submitting videos

Members can submit YouTube and Vimeo videos. A submitted video goes to the New lane, where members judge it before it can reach the community stream. Only a trusted submitter's video skips New, and then on probation (below).

  • Each link is checked when you submit it: it has to be embeddable, public, playable in the Netherlands, not age-restricted, not live and not made for kids. If the host cannot be asked properly right now, the video is not taken; try again later.
  • A submission has a note of at most 280 characters (optional) and 1 to 5 existing tags. The note of the submission that put the video on nextup is shown with the video, with your handle.
  • If the video is already on nextup, it stays where it is: your note is saved with your submission, where only you see it, and your tags go to the owner as suggestions, which are not shown publicly. A video that was removed by moderation, or judged in New and retired, cannot be submitted again (the owner can put a retired one back, see graduation).
  • Each account can submit 3 videos in any 24 hours while its trust is below 0.5, and 10 from then on. A note added to a video already here counts too. Checking a link before submitting, and each submission (both ask the host), is limited to 30 an hour together.
  • A trusted submitter's video goes to the community stream on probation. Once it has been played 20times, its share of plays watched past 10 seconds is compared with the community stream's over the last 28 days. If it is more than 20% (in percentage points) lower, the video moves to New and is judged like any other; otherwise its probation ends. Plays that failed to load count toward the plays, and the comparison waits until at least one play was watched or skipped. While the community stream has fewer than 50 measured plays, its rate is the published starting value of 70%. This is checked every 15 minutes, for at most 200 videos at a time.
  • You see your submissions, their lane and how many members have judged them so far on your “My submissions” page.

Tags

Tags are the channels: each one is its own stream. The list is curated by the owner and kept small, so every stream stays full.

  • Every video carries 1 to 5 tags, whoever added it.
  • Members can propose a new tag with a name and a description of at least 10 and at most 500 characters saying what belongs under it. A proposal is private until the owner accepts it: nobody else sees it, it has no page and no video can carry it. If the owner says no, the member sees a short note saying why.
  • Proposals per account in any 7 days: 1 while its trust is below 0.5, and 3 from then on. At most 3 can wait for review at once. A proposal that was turned down still counts.
  • When you submit a video that is already on nextup, the tags it lacks go to the owner as suggestions (see submitting). The owner goes through them up to 100 at a time and adds the ones that fit, as long as the video stays within the limit above.
  • The owner can map up to 10other words to a tag, so typing “lofi” finds “Lo-fi music” when you search tags or submit a video.
  • Links keep working. When a tag gets a new web address, the old one leads to the new one. When two tags are merged, the videos, the suggestions and the old address all move to the tag that stays, and a saved preset that favoured the old tag favours the one it became. However often a tag changes, an old link takes one step to reach it.

Volunteering for New

Videos in New are shown only to members who volunteer to judge them. Nobody else ever gets a video from New: not visitors without an account, and not members who leave the setting off. Volunteering is a setting on your account page.

  • A volunteer gets every K-th video from New, marked “from New”. K starts at 4, and each volunteer can set it from 2 to 10. It is a count, not a coin toss: the site looks at the videos your device says you just watched, and when none of the last K minus 1 came from New, the next one does. This applies to the home stream and the tag streams; the picks stream stays picks only. If New has nothing left for you, the slot is filled from the stream as usual.
  • Volunteers can also watch only New, on its own page.
  • Which New video you get: the ones with the fewest evaluations come first, so every submission gets its first looks quickly and none waits forever. An evaluation is a settled vote or play from a member other than the submitter whose trust is at least 0.2, counted once per member.
  • Among videos with equally many evaluations, the site makes a random guess at each one's quality from what members said so far and takes the highest guess. Technically: a Thompson draw from Beta(1 + up, 1 + down). A settled vote adds 1 times the member's trust to up or down; a play adds 0.5 times the trust, to up when it was finished or at least 60% of it was watched, to down when it was skipped early. A video with good early signals is more likely to come first, but an unlucky start does not bury it.
  • Each pick looks at up to 100 New videos you have not seen and did not submit yourself, in your length format. The variety rule above applies to them too.
  • While you judge a New video, its votes stay hidden until you vote yourself.

Graduation

A video in New either graduates to the community stream, retires, or stays in New for more judging. The rule below runs every 15 minutes over at most 1,000 New videos at a time (100per step), and the next run carries on where the last one stopped. The submitter sees every decision, with these numbers, on their “My submissions” page.

It counts evaluations: settled votes and plays on the video from members other than the submitter whose trust is at least 0.2, one evaluation per member. A settled vote adds 1times the member's trust to up or down; a play adds 0.5 times the trust (up when it was finished or mostly watched, down when it was skipped early). Votes and plays that are still settling, or were dropped, do not count.

p ~ Beta(1 + up, 1 + down)

p is the share of viewers who like the video, as far as the evaluations tell. With n evaluations:

  • Graduate when n is at least 10, the video has been in New for at least 24 hours, the evaluators come from at least 3 different branches of the invite tree, and the chance that p is above 60% is at least 80%. The branch rule is not applied while there are fewer than 5 branches. Members who joined without an invite count as one branch together; the owner counts as no branch.
  • Retire when n is at least 10 and the chance that p is below 50% is at least 80%.
  • Otherwise it stays in New. Once n reaches 40, the best estimate of p decides: at least 60% graduates (still only after the wait and with enough branches), below it retires.
  • The owner's vote is a veto in New. When the owner's down vote on a New video has settled, the video retires whatever the count, and the moderation log says so. While that vote is still settling, the video cannot graduate.
  • A retired video cannot be submitted again by members. The owner can put it back in New 90 days or more after it retired; it is then judged afresh, by members who have not seen it, and the moderation log lists it.

An example: 10 members with trust 0.5 all vote up, so up = 5. The chance that p is above 60% is then 95.3%, so after the wait the video graduates (with enough branches).

Trusted submitters

A trusted submitter's videos skip the New lane and go to the community stream on probation. The owner decides who is trusted. The site suggests members with at least 10 graduated submissions, at least 80% of their decided submissions graduated, and no removal that stood. Every grant and withdrawal is listed in the moderation log with its reason.

Invites

While nextup is invite only, joining takes a code from a member. Every member sits in an invite tree under the member who invited them, so a group of fake accounts shows up as one branch.

  • A code works once, for 14 days. We store only a scrambled form of it, so nobody can read codes back.
  • Members get invites once their trust reaches 0.3. From then on they earn one invite per 30 days of membership, with at most 5 open at once. An invite is used up only when someone joins with it; an expired or revoked code gives it back.
  • If a branch looks like abuse, the owner can suspend it pending review: that member and everyone invited from them. Each account is listed in the moderation log with the reason, and each gets an email saying why and how to appeal. Suspended members cannot invite, and their codes stop working.

Keeping play counts honest

Hits, skips and complete plays feed the score, so the reports that count them have limits. Your IP address is never stored; the limits use a scrambled version of it that changes every day.

  • Each played video comes with a signed token from our server; a report without a valid one is ignored.
  • At most 600 reports per hour from one address.
  • At most 2 reports per video per day from one address count. More are accepted but not stored.
  • Reported watch time cannot exceed the time since the video was served, at 2x speed plus 30 seconds of slack, and never more than 86,400 seconds.

Spotting coordinated voting

Some checks look for accounts that vote as a group. They run every 60 minutes over the votes cast since the last check. A check only flags a pattern for the owner to look at. It never changes a vote, a score or an account by itself. If the owner acts, that action and its reason go into the moderation log, and the member gets an email saying why and how to appeal.

  • Two accounts are flagged when they share at least 20 upvotes and more than 80% of their upvotes are the same (shared upvotes divided by the upvotes of either), counting the last 90 days. Accounts linked by such pairs are flagged together.
  • At least 3 accounts from one invite branch voting on the same video within 10 minutes of each other are flagged.
  • An account is new for 14 days. When more votes on one video come from new accounts within 60 minutes than 5, or than 3times the video's usual votes per hour over the previous 7 days if that is higher, they are flagged.
  • An account that reaches the daily limit of 200 votes is flagged too.

A flag the owner upholds lowers the trust of the accounts it names (see Trust above).

Rate limits

Every limit on what one visitor can do, as the site runs it. Your IP address is never stored: limits per address use a scrambled version of it that changes every day, kept only in memory.

WhatAt mostPerHow it is counted
Signups3 in a dayper address (scrambled daily)counted in memory; a restart resets it
Welcome emails to one address5 in an hourper email addresscounted in memory; a restart resets it
Sign-in link requests20 in an hourper address (scrambled daily)counted in memory; a restart resets it
Sign-in links sent to one address5 in an hourper email addresscounted in memory; a restart resets it
Requests for a manage-my-account link10 in an hourper address (scrambled daily)counted in memory; a restart resets it
Manage-my-account links sent to one address5 in an hourper email addresscounted in memory; a restart resets it
Votes, changes and take-backs200 in a dayper accountnew votes counted from stored rows; changes in memory
Submissions while your trust is below the threshold3 in a dayper accountcounted from stored rows; survives restarts
Submissions from the threshold up10 in a dayper accountcounted from stored rows; survives restarts
Link checks before submitting30 in an hourper accountcounted in memory; a restart resets it
New-tag proposals below the trust threshold1 in 7 daysper accountcounted from stored rows; survives restarts
New-tag proposals from the threshold up3 in 7 daysper accountcounted from stored rows; survives restarts
Play reports600 in an hourper address (scrambled daily)counted in memory; a restart resets it
Play reports that count, per video2 in a dayper address and videocounted in memory; a restart resets it
Next requests120 in a minuteper address (scrambled daily)counted in memory; a restart resets it
Browse list requests30 in a minuteper address (scrambled daily)counted in memory; a restart resets it
Reports of content5 in an hourper address (scrambled daily)counted in memory; a restart resets it
Reports of content20 in a dayper address (scrambled daily)counted in memory; a restart resets it
Report receipts sent to one address3 in a dayper email addresscounted in memory; a restart resets it
Appeals5 in an hourper address (scrambled daily)counted in memory; a restart resets it
Page view counts300 in an hourper address (scrambled daily)counted in memory; a restart resets it
Messages through the contact form3 in an hourper address (scrambled daily)counted in memory; a restart resets it
Messages through the contact form10 in a dayper address (scrambled daily)counted in memory; a restart resets it

What is never used

  • YouTube's like and view counts, or any other number from a video host. YouTube's rules forbid building scores from them, and we only trust what happens here.
  • Your viewing history beyond "do not repeat", the variety rule and, for members, the signals above. There is no profile of you.
  • Money. Nobody can pay for a better place in the stream.

When this changes

A change to any rule above changes this page at the same moment, and a change that can alter what plays raises the formula version. This page is part of the terms. What gets taken down, and why, is listed in public on the moderation page, and the monthly totals are on the transparency page.