Browse, classify, and manage all properties. Click a row to view details.
| Property | City | State | Units | Year Built | Avg Rent | Available | Class | Type | Manager |
|---|
All properties with coordinates. Color-coded by asset class.
Comp sets (subject + comps) and area studies. Create and manage competitive sets here.
Control the scraper, view logs, and manage the schedule.
Mark which properties Saturday manages. Managed properties are the portfolio (their comp sets read "Market Survey"); Former keeps history but is excluded from all totals; clearing returns a property to plain market status.
| Property | City | Status | |
|---|---|---|---|
| Loading… | |||
Rebuilds the "what changed this week" feed that powers Home. It runs automatically each Sunday; use this to rebuild on demand after a manual scrape or a data fix.
Link each AppFolio property to its Saturday property. Address matches are exact; name matches are fuzzy suggestions — review before confirming. Confirmed/excluded mappings survive re-syncs.
Loading…
Property data coverage, the open data-quality audit queue, AppFolio surfacing, and marketing account health — at a glance.
Author the theories the platform scores areas through — drivers (catalog metrics) + weight + direction + a level/growth transform + a lens. Exactly one thesis is the default (the data source for the geography score chips). Edits are live immediately.
Who can sign in, and their role. Roles shape the UI only — every signed-in user can reach everything. Deactivating a user blocks their next sign-in (and, once enforcement is on, their next request).
| Name | Role | Last sign-in | Invited by | ||
|---|---|---|---|---|---|
| Loading… | |||||
Data-quality and scraper flags, grouped by property with comp-set properties first. Re-check now closes flags whose problem has already cleared; record fixes can be applied from here.
| Property | Type | Severity | Field | Values | Observed | Run | Status |
|---|
Scrape apartments.com to discover and add new properties to the database. Uses Zyte API.
| Property | Address | Units | Website | Concession | Status |
|---|
Backfill lat/lng for properties with a full address but no coordinates (so they appear on the map). Uses the free US Census geocoder; failures are silent. Run multiple times until "remaining" hits zero.
Rebuild a comp set's cached snapshots, trends, and absorption payloads. Use after schema changes land or when a comp set is showing stale data that hasn't been refreshed by a new scrape ingest.
View and edit the URLs the scraper uses for each property.
| Property | Address | Platform | Website URL | Unit Info URL | Apts.com URL | Active | Last Scraped |
|---|
What changed across the managed portfolio this week.
Saturday's managed properties — survey position, exposure, and marketing at a glance. Formers shown below, excluded from all totals.
Every county, place, and tract across our states — Census context for scouting, with our footprint per area. Most places have no Saturday property yet; that is the point.
What the terms on this platform mean.
Screen for markets that fit a thesis — like a stock screener for real estate. Pick a thesis, add filters (e.g. vacancy < 5%, top-quartile rent growth), and get a ranked list of counties, tracts, or ZIPs. Open a market to see why it scores, or drop into its parcels.
Experimental analyses across comp sets, properties, or the full inventory. Browse runs existing experiments; Build composes new ones with the no-code report builder.
Save the current map filters as a named list. Re-apply later to see today's matching properties — filters re-run against fresh data, so the list stays current as scrapes land.
Paste a Python module with a top-level META dict and a def run(db, scope_type, scope_params). See the seed experiments for examples — download any of them to use as a starting template.
The weekly scorecard for the properties Saturday manages: leads, tours and applications from AppFolio, occupancy from the rent roll, website users from GA4 and spend from Google Ads, one week at a time (Sunday to Saturday). Click a property for its full scorecard and the records behind each number.
Each property's weekly average over a stretch of weeks, beside the same weeks a year earlier. Ratios and cost per are worked out from the period's totals.
Each window compared with the same number of days just before, through the last complete day of data. Manage mappings in the marketing admin.
Every lead that came in over a window, followed to where it got: applied, approved, moved in, or where it left. Built from AppFolio guest cards and applications (Yardi before 2026) — ids, dates, sources and unit numbers only.
Connect and manage upstream marketing data sources. Tokens are encrypted at rest.
Enter the admin token to manage marketing accounts.
Total available units listed at each snapshot date.
Histogram of effective rents for currently available units by unit type.
Average effective rent over time by unit type.
| Category | Name | Amount |
|---|
| Name | Type | Rating | Distance |
|---|
Settings used by the weekly scraper. Auto-populated fields are updated after each scrape. Manual edits override auto-detection.
Occupancy, lease expirations, rent increases, vacant units. Appears once AppFolio is connected.
Past due balances, in-place vs market rent, loss-to-lease. Appears once AppFolio is connected.
Printed survey + financials statement.
Subject's position within the comp set by unit type.
Comp properties currently offering concessions.
Exposure = all listed units (now + future-dated) as a share of total units. Availability timing buckets listed units by when they're ready for move-in.
Rent range at which units were absorbed. Box = IQR (25th-75th percentile), line = median, whiskers = full range.
| Unit Type | Segment | Absorbed | Range | Q1 | Median | Q3 | Mean | Avg PSF |
|---|
Where the comp set's middle 50% (IQR) of absorbed rents sat each period, with subject's individual absorptions overlaid. Shows whether subject's pricing has been inside, above, or below the market band over time.
Units absorbed per snapshot period.
Listed inventory at each snapshot date.
| Period | Unit Type | Subj. | Mkt. | Total | Range | Subj. Median | Mkt. Median |
|---|
| Property | Unit | Type | First Listed | Median First 2 | Absorbed At | Change | # Adj. | DOM | Flag |
|---|
Trajectory of average effective asking rent on listed units over time.
Average asking rent by calendar month as % deviation from market mean. Reveals seasonality patterns across the year.
Additive decomposition: Original = Trend + Seasonal + Residual. Separates the long-term trend from seasonal effects and noise.
Ask about what you're seeing on this comp set.