Data sources, formulas and limitations
How Fypok calculates TikTok metrics
Fypok’s methodology explains which inputs a report uses, how metrics are calculated, and what the results can support. Public-account reports describe dated samples; manual calculations use the numbers you enter.
Clear inputs. Explicit formulas. Dated reports.
Methodology version 1.0 Not yet published — the publication date will be set on the first real release.
Data inputs and sources
Fypok distinguishes retrieved public counts, calculations based on those counts, manual inputs and optional AI explanations.
| Input type | What it means |
|---|---|
| Public profile or direct-video data | Available fields returned by the configured and verified collector for the requested profile or video |
| Fypok calculations | Results produced from those fields using the formulas on this page |
| Manual calculator inputs | Numbers entered by the visitor, without independent TikTok verification |
| Optional AI summaries | Explanations based on supplied metrics and available post descriptions |
Public-account checks use a supported public username or profile URL. You do not provide TikTok credentials or authorize TikTok account access. A Fypok login is used separately for saved reports, plans and history.
Source-status card for the current prototype:
| Source detail | Status |
|---|---|
| Planned collection platform | Apify |
| Integration | Not yet live |
| Profile/video collectors and versions | Pending selection and separate field-coverage verification |
| Verified field coverage | Pending integration testing |
Source coverage can vary by collector and version. The source-status card describes the integration state relevant to this methodology.
How recent-post samples are selected
Profile reports use a recent-post sample. A direct video report covers only the requested video and does not calculate an account average or median. A profile report uses available posts returned for the selected profile and check type. It is a limited recent-post sample, not an exhaustive account archive or a random sample of all TikTok posts.
| Profile check type | Maximum posts in the sample |
|---|---|
| Guest | Up to 10 |
| Included Free check | Up to 20 |
| Paid check | Up to 30 |
Fypok removes duplicate post IDs and uses available publication timestamps to order retrieved posts. A pinned position does not by itself make a post recent. Provider coverage can limit which posts are returned.
Posts without a usable publication time are marked accordingly and cannot support date-based calculations. Reports show actual sample size and publication range, rather than automatically labeling the sample as a complete 30-day period.
High-view posts are not removed simply because they are outliers. Young posts can be included; their age matters when interpreting the results.
Fields and timestamps in a report
| Field or label | Meaning |
|---|---|
| Views, likes, comments, shares | Available post counts from the retrieved data |
| Followers | The available public profile count in that observation |
| Published at | A post’s publication timestamp when provided |
| Checked at | The completed retrieval time recorded for the report’s source observation |
| Provider observation time | An earlier source collection time, when exposed by the provider |
| Posts included / n | The number of posts contributing to a particular calculation |
| Methodology version | The formula and selection rules applied to the report |
Opening a report again does not change its collection time. Source counts may already be rounded or delayed; a check timestamp does not prove that TikTok updated every counter at that exact instant.
Timestamps are stored in UTC and displayed with an explicit timezone. A report’s sample count can differ from the number of posts eligible for an individual metric.
Average and median views
Average views = sum of known sampled view counts ÷ number of posts with known views.
Median views are the middle value after sorting known view counts. For an even number of values, the median is the average of the two middle values.
Illustrative example: fictional view counts.
| Post | Views |
|---|---|
| A | 800 |
| B | 1,200 |
| C | 1,600 |
| D | 2,400 |
| E | 8,000 |
Average: 14,000 ÷ 5 = 2,800 views.
Median: 1,600 views.
The larger post affects the average. The median describes the middle result in this sample. Neither figure predicts the next post’s views.
A known zero view count is included in view summaries. An unavailable count is excluded and remains unknown. With no known view counts, the summary is unavailable.
The manual Average Views Calculator uses the counts supplied by the visitor. It includes valid zero values and keeps repeated values as separate entries. Total is the sum of the values; range is maximum minus minimum. The input counts are not independently verified, and unusually high or low values are not automatically removed.
Engagement rate calculations
Per-post engagement by views
Engagement rate by views = (likes + comments + shares) ÷ views × 100.
For example, (500 + 50 + 50) ÷ 10,000 × 100 = 6%.
Likes, comments and shares must all be known, and views must be greater than zero. Saves are excluded. A missing interaction count is not assumed to be zero.
This is a ratio of interaction events to views. It is not the percentage of unique viewers who engaged.
Account engagement summary
Fypok calculates an individual view-based rate for each eligible post, then reports the median of those post rates.
The report shows the number of eligible posts. With no eligible posts, the account engagement summary is unavailable.
Why a pooled rate can differ
Pooling all interactions and views answers a different question from taking the median of individual post rates.
Separate fictional example:
| Post | Interactions | Views | Per-post rate |
|---|---|---|---|
| A | 100 | 1,000 | 10% |
| B | 180 | 9,000 | 2% |
Median post rate: (10% + 2%) ÷ 2 = 6%.
Pooled rate: 280 ÷ 10,000 × 100 = 2.8%.
Fypok’s account summary uses the median post rate. A manually entered set of combined totals produces a pooled rate and should be labeled that way.
Follower-based manual calculation
The manual calculator also offers (likes + comments + shares) ÷ followers × 100 for one post, using the follower count supplied by the visitor.
For 600 interactions and 20,000 followers, the result is 3%. This does not show what percentage of those followers interacted, because the calculator does not identify the people behind the counts.
Calculations use unrounded intermediate results. Percentages are normally displayed to two decimal places; positive rates below 0.01% are identified as less than 0.01%.
Posting activity
Publication dates describe activity within the retrieved sample. When an observed posting pace is shown, Fypok uses:
Observed posts per week = (dated posts − 1) ÷ elapsed days between the earliest and latest sampled publication × 7.
This requires at least two distinct publication timestamps and a positive elapsed period.
For five posts published daily from November 1 through November 5, the elapsed period is four days: (5 − 1) ÷ 4 × 7 = 7 posts/week.
This is the observed pace across those sampled dates, not proof of a complete weekly publishing total or a future posting schedule.
Comparing two accounts
Both profiles use the same metric definitions and applicable sample cap. Their actual eligible counts, post ages, publication ranges and check times remain visible separately.
Different collection times and post mixes can limit comparability. Fypok does not automatically convert unequal samples into a controlled experiment.
An engagement rate of 8% compared with 5% differs by 3 percentage points. A relative change uses a named baseline and a different formula: (new value − baseline) ÷ baseline × 100, with a positive baseline.
Views divided by follower count do not measure unique audience reach or the percentage of followers who watched.
Tracking changes over time
Tracking compares real observations collected at different times.
Observed follower change = later count − earlier count.
Observed change (%) = (later count − earlier count) ÷ earlier count × 100.
A change from 10,000 to 10,400 is +400, or 4%. The percentage requires a positive earlier count; an earlier zero can support an absolute difference but not this percentage.
Changes can be negative. Missing observations remain gaps. A net count difference does not identify separate follow and unfollow events or their exact timing.
History cannot be reconstructed for periods without real available observations. Reusing the same cached snapshot does not create another measurement.
A later recent-post sample may contain different posts. Its median can change even when it is not measuring growth of a fixed set of publications. An individual post’s history uses repeated observations of the same post ID when available.
Cache and data freshness
A suitable stored snapshot can be reused without another fresh collection. Under the initial cache policy:
| Request type | Maximum eligible snapshot age |
|---|---|
| Guest or included Free check | Up to 24 hours |
| Paid check | Up to 6 hours |
These are reuse limits, not promised update frequencies or a guarantee that upstream counters are current to the second. Each report keeps its actual source timestamps.
Scheduled weekly or daily collection is available only on eligible plans and uses the same allowance as manual checks. Reading a saved report does not trigger collection.
Missing, rounded or changing data
| Situation | How it is handled |
|---|---|
| Known zero | Used where mathematically valid; zero views cannot be an engagement denominator |
| Unavailable count | Kept unknown and excluded from calculations that require it |
| Rounded source count | Retained with its precision limitation; derived changes are not presented as exact acquisitions |
| Too few usable timestamps | No observed posting pace is calculated |
| Missing older observation | No invented historical change is shown |
| A previously seen post is absent | The new collection is incomplete for that post; absence alone does not prove deletion |
| Username changes | Stable account identifiers are used where available; ambiguous identity must be resolved before merging history |
A small sample can produce a mathematically valid result with limited descriptive value. Sample size and dates remain part of the result.
AI summaries and analysis limits
Numerical metrics are calculated by code. Optional paid summaries explain available metrics and post descriptions; they do not establish new source facts.
The initial product does not inspect video frames, audio, transcripts, viewer retention or private account data. A summary may suggest an experiment, but it cannot prove what caused a post’s performance.
Public counts do not establish For You traffic share, recommendation eligibility, a shadowban, fake-follower percentage or a guaranteed chance of going viral.
There is no universal good/bad grade applied to every account. Meaningful benchmarks need a defined formula, period and comparable dataset.
Methodology updates and corrections
Version 1.0: definitions and sample rules for the initial release.
Reports identify the methodology version applied. A later rule change should not silently relabel earlier calculations. When a saved observation is recalculated, its original collection time remains unchanged.
Found an inconsistency? Include the metric name, report reference and collection time when contacting support.
Report a data or calculation issuePrivacy or removal requests
Reference for standard mean and median definitions: NIST/SEMATECH e-Handbook — Measures of Location.
Explore the tools with the method in mind
Check the sample, formula and timestamp alongside the headline result.