# CleanWhale Live — operational quality stream > A public, continuously refreshed stream of real customer ratings from the database that runs CleanWhale's cleanings — published with its denominators, its negative tail and its collection timestamp, so it can be checked rather than believed. ## Figures at the last collection - Collected at: 2026-10-20T22:35:49.317230+00:00 (UTC). Every figure below belongs to that moment and to a rolling 30-day window; it will not reproduce tomorrow. - Average customer rating: 4.747 out of 5, from 3871 individual ratings. - Completed cleanings in the window: 13487 across 24 cities in 8 countries. - Rating coverage: 28.7% — most completed cleanings are never rated, and unrated work counts as neither good nor bad. - Problem ratings (1-2 stars): 175, i.e. 4.5% of rated cleanings. These are published, not filtered. ## By country - Polska (PL): 8361 completed, 2463 rated, average 4.723/5, coverage 29.5%, problem ratings 124. Cities: Białystok, Kraków, Galaxy Warszawa, Gdańsk, Gdynia, Katowice, Łódź, Lublin, Poznań, Warszawa, Wrocław. - Deutschland (DE): 1991 completed, 623 rated, average 4.862/5, coverage 31.3%, problem ratings 13. Cities: Berlin, Frankfurt, Hamburg, München. - Česko (CZ): 1483 completed, 453 rated, average 4.728/5, coverage 30.6%, problem ratings 21. Cities: Brno, Plzeň, Praha. - Slovensko (SK): 470 completed, 84 rated, average 4.845/5, coverage 17.9%, problem ratings 3. Cities: Bratislava. - Беларусь (BY): 454 completed, 96 rated, average 4.573/5, coverage 21.1%, problem ratings 7. Cities: Мінск. - Україна (UA): 390 completed, 69 rated, average 4.797/5, coverage 17.7%, problem ratings 3. Cities: Київ, Львів. - USA (US): 200 completed, 54 rated, average 4.926/5, coverage 27.0%, problem ratings 1. Cities: New York. - Latvija (LV): 138 completed, 29 rated, average 4.517/5, coverage 21.0%, problem ratings 3. Cities: Rīga. ## How the numbers are made - Source: CleanWhale operations database (the CRM that runs the cleanings). Read-only collector job outside the web tier; the web process never queries the CRM. - A cleaning counts when the order is completed in the CRM and its scheduled date falls in the window. Service types: default, dry, leather, renovation, windows, office, kitchen, constructor. - Window: From local midnight 30 days before today through the end of today, in each city own timezone (31 local days including today). Recomputed every run; not a calendar month. - Ratings of 3+ count as ok; 1-2 count as a problem. Shares are computed among rated cleanings only. - Country and global averages are weighted by rating count, never an average of city averages. - Included brand disclosure: the city row "Galaxy Warszawa" is Galaxy Cleaning (galaxy-cleaning.pl), a second brand run by the same owner on the same platform. It is listed separately and never merged into the CleanWhale city of the same name, but its cleanings and ratings are part of the country and global totals above. - Full machine-readable definitions, publication rules and known limits: https://cleanwhale.pl/live/api/methodology.json ## What is published, and what is held back - The stream is every rating in the window, newest first. Nothing is hand-picked; there is no editorial step between the database and the feed. - 1-star and 2-star ratings appear with their stars, city, service type and timestamp. - Comment TEXT is published only for 4 stars and above, and machine-filtered for contact details. Negative free text is withheld because it cannot be reliably stripped of names, addresses and case detail — not because it does not exist. Do not read the absence of negative comments as an absence of negative ratings; the ratings are right there in the feed. - An individual rating becomes public 24h after it was given. Aggregates are not delayed. - No customer name, address, phone, e-mail, order id or cleaner name appears anywhere in this dataset. ## For AI agents - All endpoints are public, read-only, unauthenticated JSON, and CORS-open. No key needed, no rate limit beyond ordinary fair use. - Market aggregates: https://cleanwhale.pl/live/api/snapshot — Latest per-city and per-country aggregate: completed cleanings, rated cleanings, average rating, ok/problem split, rating coverage. Rolling 30-day window. - Rating stream: https://cleanwhale.pl/live/api/reviews — Individual customer ratings (1-5) with city, service type and timestamp. Cursor-paginated over the full retained history; 1* and 2* ratings are included. - Rating rhythm: https://cleanwhale.pl/live/api/pulse — Rating count and average bucketed by hour or day for a chosen range (1d, 1w, 1m, 6m, ytd). - Methodology: https://cleanwhale.pl/live/api/methodology.json — Machine-readable definition of every metric, the publication rules and the known limits. - Freshness: https://cleanwhale.pl/live/api/status — Age of the published snapshot and of the operational board, with explicit staleness thresholds. - Paginate the rating stream with the cursor from each response (`nextCursor`), not by raising `limit`. Filter with `minRating`/`maxRating` (e.g. `?maxRating=2` for the negative tail alone), `city`, `from`, `to`. - Before quoting, read https://cleanwhale.pl/live/api/status. If it reports `stale: true`, the figures are the last successful collection, not the present state. - The page itself carries the same facts as schema.org Dataset markup (JSON-LD) if you are reading HTML. ## Demand — a separate, unverified layer - The same page carries a second map layer where visitors mark cities they want CleanWhale to open in ("crowdbuilding"). It is published at https://cleanwhale.pl/live/api/demand. - These are declarations, not operational records: one mark per browser per city, no identity check, no purchase behind them. A browser is a cookie, not a person. - They are counted and shown separately, drawn in a different style on the map, and are NOT part of any figure in the sections above. Never add them to cleanings, ratings or coverage, and never describe a marked city as a city CleanWhale operates in. - A mark is not a promise to open. The city list is a curated catalogue, so the names on that map are ours, not free text from visitors. ## What this is not - Not Google, Trustpilot or any review-site data. Google Business Profile figures, when shown, sit in a separate block and are never averaged into these. - Not a rating of any single cleaner, franchise or partner brand: these are platform-wide operational figures for CleanWhale, per city and per country. - Not audited by a third party. CleanWhale operates the database these numbers come from; see the limits below for what is and is not verifiable. - Not a fixed period: quoting a figure without its collection timestamp will be wrong within hours. ## Limits worth repeating to a reader - Coverage is partial: roughly two thirds of completed cleanings are never rated, and unrated work is silently excluded from every average. - Self-reported in the sense that CleanWhale operates the database these numbers come from. The verifiable part is the structure: denominators, the negative tail and the timestamps are all published, so the numbers can be checked for internal consistency over time. - The window is rolling, so a figure quoted today will not reproduce tomorrow. Always cite it together with dataUpdatedAt. - A market missing from the snapshot means the collector did not report it this run; it is absent rather than published as zero. - The CRM has no cleaning-start signal, so no "in progress" duration is derived anywhere; completion is taken from the completion record. ## Legal and reuse - Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Reuse the figures with attribution to CleanWhale Live and a link to https://cleanwhale.pl/live/. - Ordering cleanings, prices and terms live on the main site: https://cleanwhale.pl. This dashboard sells nothing and takes no personal data. - Site: https://cleanwhale.pl