Quiz bank
A reusable bank of questions covering the full sixteen-module course, organized by topic rather than by module so instructors can assemble a quiz for any single module, a review session, or a randomized pool. Contains 60 multiple choice questions and 23 short answer questions across seventeen topics: access and schema, SQL and filters, pricing power, sell through, demand index, brand to ticker, data literacy and caveats, art market and league tables, data visualization and storytelling, machine learning on auction data, time series and market indices, auction theory and behavioral economics, data engineering and the API, data ethics and coverage bias, the auction business model, art market fundamentals, and data science for art market research.
Section A: Multiple choice
Topic: Access and schema
Q1. Which surface should a student use to run ad hoc SQL queries without writing any code or requesting an API key? A. api.altfndata.com B. docs.altfndata.com C. sandbox.altfndata.com D. None; a key is always required
Q2. How does a student typically gain access to the sandbox? A. By emailing the ALT/FNDATA team and waiting for manual approval B. By self-registering with a work or school email address, which is auto-approved C. By purchasing a Membership plan D. Sandbox access is granted only to instructors, who then share credentials with students
Q3. Where would a student find the downloadable Python client and a runnable tutorials notebook? A. sandbox.altfndata.com B. api.altfndata.com C. docs.altfndata.com D. The coverage browser
Q4. Roughly how far back does ALT/FNDATA's transaction history extend? A. The early 2010s B. 1949 C. Only the past five years D. The entire dataset is real-time only, with no historical archive
Q5. A student wants to confirm the exact column names on a category table before writing a query against the production API. Which endpoint should they call? A. POST /v1/tables/{name}/query B. GET /v1/tables/{name}/schema C. GET /v1/pricing D. POST /v1/auth/token
Topic: SQL and filters
Q6. Which SQL clause would a student use to keep only records where status equals sold? A. GROUP BY status = 'sold' B. ORDER BY status C. WHERE status = 'sold' D. LIMIT status = 'sold'
Q7. In the sandbox SQL editor, which clause restricts a query's output to the 10 rows with the highest usd_price_decimal? A. WHERE usd_price_decimal = MAX B. ORDER BY usd_price_decimal DESC LIMIT 10 C. GROUP BY usd_price_decimal LIMIT 10 D. TOP 10 usd_price_decimal
Q8. A query needs to count sold records per vendor. Which clause is required alongside COUNT(*)? A. HAVING vendor B. GROUP BY vendor C. ORDER BY vendor ASC D. WHERE vendor IS NOT NULL only
Q9. On the production API, which filter operator performs a case-insensitive substring match? A. eq B. in C. like D. is_null
Q10. A student wants records for either "Rolex" or "Omega" in a single filter, without writing two separate filter objects for designer. Which operator fits best? A. eq B. in C. gt D. like
Topic: Pricing power
Q11. Pricing power is defined as: A. The average usd_price_decimal for a designer B. The median, across sold records, of usd_price_decimal divided by sale_estimates_high_usd_price C. The count of sold records for a designer D. The ratio of vendor count to designer count
Q12. A designer shows a pricing power figure of 1.36. What does this mean? A. Buyers typically paid 36 percent below the auction house's high estimate B. Buyers typically paid 36 percent above the auction house's high estimate C. 136 percent of lots for that designer sold D. The designer's average price grew 36 percent year over year
Q13. Which records should be excluded before computing a pricing power ratio? A. Records where status is sold B. Records where sale_estimates_high_usd_price is null or zero C. Records where designer is populated D. All records from before 2020
Q14. A pricing power figure below 1.0 for a given designer most directly suggests: A. The brand's items typically sell below the auction house's own high estimate B. The brand has a low sell-through rate C. The brand is not tracked by ALT/FNDATA D. The dataset contains a data quality error
Topic: Sell through
Q15. Sell-through rate is calculated as: A. Sold count divided by total offered count (sold plus unsold) B. Sold count divided by pricing power C. Realized price divided by high estimate D. Total record count divided by number of designers
Q16. Which SQL mistake would most directly corrupt a sell-through rate calculation? A. Ordering results by sale_date B. Filtering the entire query to status = 'sold' before computing the denominator C. Using a LIMIT clause D. Selecting more fields than needed
Q17. A sell-through rate of 0.85 for a designer means: A. 85 percent of offered lots for that designer actually sold B. The designer's pricing power is 0.85 C. 85 percent of the designer's lots were unsold D. The designer sold for 85 percent of the high estimate on average
Q18. Which two status values does a correctly scoped sell-through rate query need to include in its denominator? A. sold and pending B. sold and unsold C. unsold and cancelled D. Only sold
Topic: Demand index
Q19. Building a demand index for a designer typically involves: A. Grouping sold records by quarter of sale_date and computing a count or average price per quarter B. Grouping all records by vendor C. Computing pricing power for every designer at once D. Filtering to unsold records only
Q20. Why should the most recent one to two quarters of a demand index be treated with caution? A. They are always fabricated B. Ingestion of new auction results lags behind sale_date, so recent quarters are typically under-represented C. The sandbox deletes old data automatically D. Recent quarters always show inflated prices
Q21. A demand index built for learning purposes in this course should be framed as: A. A definitive claim about whether a brand's market value is rising or falling B. A methodology exercise in bucketing cleared prices by quarter, with an explicit caveat about recency C. A forecast of next quarter's prices D. Proof of year over year appreciation
Q22. Which field is essential for correctly bucketing sales into calendar quarters? A. vendor B. sale_date C. stock_ticker D. item_title
Topic: Brand to ticker
Q23. The stock_ticker field is best described as: A. The internal ALT/FNDATA record identifier B. The public trading ticker of the parent company that owns a brand, where a mapping exists C. A synonym for designer D. The auction house's internal lot number
Q24. Roughly how many public and private companies does ALT/FNDATA's company mapping cover? A. About 200 B. More than 2,000, with S&P 500 sector mapping C. Exactly 500 D. Fewer than 50
Q25. Richemont's ticker, CFR.SW, could appear on records in which combination of categories? A. Only watches B. Only jewelry C. Both watches and jewelry, since Richemont owns brands in both D. Only automobiles
Q26. Why is the ability to roll demand signals up to a single stock_ticker across multiple categories valuable to an equity research analyst? A. It lets them ignore individual brands entirely B. It produces a more complete, company-level demand read for a diversified conglomerate than any single category alone C. It replaces the need for a company's earnings report D. It only works for private companies
Topic: Data literacy and caveats
Q27. Why must an analyst always use sale_date, not an ingestion or pull date, for time-based analysis? A. Ingestion date is not stored in the dataset B. sale_date anchors each record to when the transaction actually happened, which is what makes the series point-in-time correct C. sale_date is only available for sold records D. It does not matter which date is used
Q28. A quarterly series shows a sharp drop in the most recent quarter. What is the most responsible next step? A. Immediately publish a claim that demand for the brand is falling B. Consider ingestion lag, and either exclude or clearly caveat the most recent quarter before drawing any conclusion C. Delete the most recent quarter permanently from the dataset D. Assume the drop reflects fraud
Q29. ALT/FNDATA's AI natural language search feature should be treated, for course purposes, as: A. The primary way students should query the data B. Fully released and production ready C. Still in development and not featured in coursework D. A replacement for the sandbox SQL editor
Q30. Which of the following is the most responsible way to describe a single large auction result (for example one record-breaking sale) in an analysis? A. As definitive proof of a market-wide trend B. As one data point that should be corroborated with a broader sample, such as pricing power or sell-through across many records, before drawing a conclusion C. As irrelevant and not worth mentioning D. As equivalent to a company's full quarterly earnings
Topic: Art market and league tables
Q31. In the fine art data, which field identifies the auction house that offered a lot? A. designer B. vendor C. stock_ticker D. item_title
Q32. An auction house league table is built by: A. Grouping sold records by vendor and aggregating total realized value and lot count B. Filtering to a single artist C. Ordering every record by sale_date D. Counting the number of distinct designers
Q33. In the fine art data, the designer field most commonly holds: A. The auction house name B. The artist or maker credited on the lot C. The buyer's name D. The lot's internal identifier
Q34. A house ranks high on total realized value but low on the number of lots sold. This most directly suggests: A. A data quality error B. A business concentrated on fewer, higher-value works C. That every lot went unsold D. That the house has a pricing power below 1.0
Topic: Data visualization and storytelling
Q35. Truncating a chart's vertical axis so it does not start at zero most often: A. Makes the chart more accurate B. Exaggerates small differences and can mislead the reader C. Is required by the sandbox D. Has no effect on how the chart is read
Q36. What is the most honest way to present a quarterly count when the newest quarter is under-ingested? A. Show it as the latest point with no note B. Exclude or clearly caveat the newest quarter and explain why C. Scale the newest quarter up to "correct" it D. Remove every earlier quarter
Q37. To compare pricing power across five brands at a glance, the clearest chart is usually: A. A pie chart of record counts B. A horizontal bar chart of each brand's pricing power C. A single headline number D. A scatter plot of every individual lot
Topic: Machine learning on auction data
Q38. Using the realized price (usd_price_decimal) as an input feature to predict the realized price is an example of: A. Good feature engineering B. Target leakage C. Cross-validation D. Regularization
Q39. To respect point-in-time correctness, a train and test split on this data should be made by: A. A random shuffle of all rows B. sale_date, training on earlier sales and testing on later ones C. Alphabetical order of designer D. The vendor name
Q40. Predicting whether a lot will end up sold or unsold (the status field) is best framed as: A. A regression problem B. A classification problem C. A clustering problem D. Not possible with this data
Q41. Which is a defensible input feature for a price model, drawn from documented fields? A. usd_price_decimal (the value being predicted) B. sale_estimates_high_usd_price C. the realized price divided by itself D. a field that is not in the schema
Topic: Time series and market indices
Q42. A quarterly demand index built from cleared prices in this course should be described as: A. A definitive measure of market appreciation B. A methodology exercise, with the newest quarters caveated for under-ingestion C. A forecast of next quarter's prices D. A single per-lot record
Q43. Which field is used to bucket sales into calendar quarters for an index? A. vendor B. sale_date C. stock_ticker D. status
Topic: Auction theory and behavioral economics
Q44. Pricing power is measured relative to the high estimate, which behavioral economics would describe as: A. A random number B. An anchor set by the auction house before the sale C. The reserve price D. The buyer's premium
Q45. The winner's curse refers to: A. A lot that goes unsold B. The risk that the winning bidder overpaid relative to an item's true value C. A house losing a consignment to a rival D. A tax applied to a sale
Q46. An unsold lot in this dataset most likely failed to meet: A. The buyer's expectations only B. Its reserve price C. A shipping deadline D. An internal data quality check
Topic: Data engineering and the API
Q47. On the production API, you know you have retrieved every matching row when: A. result_count equals the total number of rows in the database B. a page comes back with a result_count smaller than the page size (or zero) C. the first page returns any rows at all D. you never need to check
Q48. The POST query endpoint returns: A. Server-side aggregates such as SUM and COUNT B. A page of matching rows, which the caller aggregates client-side C. Exactly one row D. A rendered chart image
Q49. To page through a large result set, which body parameter do you increase on each call? A. limit only B. offset C. fields D. sort
Topic: Data ethics and coverage bias
Q50. The recency under-ingestion pattern in this dataset should be treated as: A. Proof that demand is falling B. A coverage artifact to disclose, not a market signal C. A reason to distrust every figure in the data D. Irrelevant to analysis
Q51. A responsible analyst publishing a finding from this data should: A. Omit any limitations to keep the message clean B. Disclose coverage limits, the recency caveat, and how sold versus unsold lots were handled C. State that the data is complete and current D. Present a single lot as representative of the whole market
Topic: The auction business model
Q52. How does an auction house primarily earn revenue on a public sale? A. It keeps the entire hammer price and pays the seller nothing B. Through a buyer's premium charged to the buyer and a seller's commission charged to the consignor, on top of the hammer price C. By charging bidders a fee each time they raise their paddle D. By reselling every lot itself at a later date
Q53. Why can the buyer's premium and the seller's commission not be computed directly from this dataset? A. They are undocumented figures that do not appear as fields in the data B. Because the data records no prices at all C. Because premiums and commissions do not exist in the art trade D. Because the status field hides them
Q54. Which business signal can be computed from the documented fields alone? A. The exact buyer's premium collected on each lot B. Estimate accuracy, the ratio of realized price to the pre-sale high estimate C. The seller's negotiated commission rate D. The size of any guarantee placed on a lot
Topic: Art market fundamentals
Q55. Which price-forming characteristic is NOT a documented field, and so must be approximated through item_title text search? A. designer B. sale_date C. medium, size, provenance, and condition D. vendor
Q56. A comparables set for an artist is best described as: A. A random sample of all art ever sold at auction B. A group of that artist's sold lots used to read the range and the median of what buyers actually paid C. The list of that artist's unsold lots only D. A single record-setting sale for that artist
Q57. In the fine art data, the gap between the pre-sale estimate and the realized price is best understood as: A. A data entry error to be discarded B. The market testing the auction house's judgment of comparable value C. The buyer's premium D. The seller's commission
Topic: Data science for art market research
Q58. An artist-level index built from the median realized price per year primarily measures: A. Pure price appreciation of one fixed artwork held over time B. Method and the changing composition of which works sold each period, not pure appreciation C. The buyer's premium over time D. The number of galleries representing the artist
Q59. Which pair of demand signals can be read WITHOUT relying on realized price? A. Pricing power and average lot value B. Sell-through rate and the bought-in, or unsold, rate C. Median price and total realized value D. Hammer price and the buyer's premium
Q60. Why should a comparative demand table across many artists apply a minimum-lot threshold, for example HAVING COUNT(*) >= 20? A. To make the query run faster B. So that artists with too few sold lots do not produce figures too noisy to compare C. To exclude the most expensive artists D. To remove unsold lots from the data
Section B: Short answer
S1. Name the three ALT/FNDATA access surfaces and one thing each is used for.
S2. What must a developer do before writing their first query against an unfamiliar table on the production API, and which two endpoints support this step?
S3. Write the SQL WHERE clause needed to filter a query to only sold records for a designer called "Cartier".
S4. Name three of the documented API filter operators and briefly describe what each one does.
S5. In your own words, define pricing power and state what a ratio above 1.0 indicates about buyer behavior.
S6. Why must sale_estimates_high_usd_price be checked for null or zero values before it is used in a pricing power calculation?
S7. Define sell-through rate and identify the two status values that must both appear in its denominator.
S8. Explain why filtering an entire query to status = 'sold' before computing sell-through rate would produce an incorrect result.
S9. Describe, in two to three sentences, how to build a simple quarterly demand index for one designer using SQL.
S10. Explain the recency caveat that applies to any time-bucketed metric built from this dataset, and state what an analyst should do about it before drawing a conclusion.
S11. Explain what the stock_ticker field allows an analyst to do that the designer field alone does not.
S12. Describe one concrete step a reader should take before trusting a single number pulled from this dataset (for example a single quarter's average price, or a single sale's realized price versus estimate).
S13. Explain how an auction house league table is built from the fine art data. Name the field you group by and the two aggregates you would compute.
S14. Why should the most recent-period totals in an auction house league table not be read as this year's ranking of houses?
S15. Name one way a chart of this data can mislead a reader, and describe how you would present the same figure honestly instead.
S16. Explain target leakage in the context of predicting realized price, and name one documented field whose use as a feature would cause it.
S17. Why must a quarterly demand index exclude or clearly caveat the newest one to two quarters?
S18. Explain how the high estimate acts as an anchor, and state what a pricing power above 1.0 says about bidder behavior relative to that anchor.
S19. Describe how you paginate the query endpoint to retrieve every matching row, and explain why aggregation happens client-side.
S20. State two limitations you would disclose alongside any finding drawn from this dataset.
S21. Name the two revenue streams an auction house earns on a public sale, and explain in one sentence why neither can be computed directly from this dataset's documented fields.
S22. Define a comparables set for one artist, and name one price-forming characteristic (such as medium, size, provenance, or condition) that is not a documented field and must be approximated through item_title text search.
S23. Explain why an artist index built from the median realized price per year measures method and changing composition rather than pure appreciation, and state what the recency caveat means for the newest one to two periods of that index.